{
  "openapi": "3.0.1",
  "tags": [
    {
      "name": "Usuários",
      "description": "Operações relacionadas à usuários"
    },
    {
      "name": "Clientes",
      "description": "Operações relacionadas à clientes"
    },
    {
      "name": "Conhecimentos",
      "description": "Operações relacionadas à conhecimentos"
    },
    {
      "name": "Contatos",
      "description": "Operações relacionadas à contatos.\n          Os contatos são vinculados diretamente em um cliente. Por isso você precisa informar um `client_id` nessas requisições"
    },
    {
      "name": "Endereços",
      "description": "Operações relacionadas à endereços.\n          Os endereços são vinculados diretamente em um cliente. Por isso você precisa informar um `client_id` nessas requisições"
    },
    {
      "name": "Clientes - Arquivos",
      "description": "Operações relacionadas à anexos de clientes e suas imagens de logo"
    },
    {
      "name": "Mesas de serviço",
      "description": "Operações relacionadas à mesas de serviço"
    },
    {
      "name": "Grupos de atendentes",
      "description": "Operações relacionadas à grupos de atendentes"
    },
    {
      "name": "Respostas dos tickets",
      "description": "Operações relacionadas às comunicações com os clientes"
    },
    {
      "name": "Tickets",
      "description": "Operações relacionadas à tickets"
    },
    {
      "name": "Pré-Tickets",
      "description": "Operações relacionadas à pre-tickets"
    },
    {
      "name": "Tickets - Arquivos",
      "description": "Operações relacionadas a anexos de tickets"
    },
    {
      "name": "Solicitantes",
      "description": "Operações relacionadas aos solicitantes dos tickets"
    },
    {
      "name": "Campos Personalizados",
      "description": "Operações relacionadas à configuração de campos personalizados.\n\nA estrutura de campos personalizados é hierárquica, com três níveis principais: **campos personalizados** > **campos** > **opções**.\n\nPara mais informações a respeito do que são campos personalizados, acesse nossa sessão do guia de uso sobre [como funcionam os campos personalizados no tiflux](https://guia-de-uso.tiflux.com/sistema/configuracoes/configuracoes-gerais/entidades#o-que-sao-campos-personalizados)."
    },
    {
      "name": "Chats",
      "description": "Operações relacionadas à chats.\n\nPara visualizar, atualizar ou enviar mensagens em chats que utilizam **integrações Whatsapp**, o usuário que está realizando as requisições precisa possuir uma **licença Whatsapp**."
    },
    {
      "name": "Pré-apontamentos",
      "description": "Operações relacionadas à pré-apontamentos.\n\nPré-apontamentos registram o **horário de início e término do atendimento** realizado por um atendente, em um determinado ticket. Posteriormente, esses pré-apontamentos podem ser convertidos em apontamentos."
    },
    {
      "name": "Recursos",
      "description": "Operações relacionadas à recursos"
    },
    {
      "name": "Apontamentos",
      "description": "Operações relacionadas à apontamentos em um determinado ticket"
    },
    {
      "name": "Comunicações internas dos tickets",
      "description": "Operações relacionadas à comunicações internas em um determinado ticket"
    },
    {
      "name": "Integrações"
    },
    {
      "name": "Contratos",
      "x-tag-expanded": true
    },
    {
      "name": "Relatórios"
    },
    {
      "name": "Templates"
    },
    {
      "name": "Grupos de Permissões",
      "description": "Operações relacionadas à grupos de permissões"
    },
    {
      "name": "Tipos de Recurso",
      "description": "Operações relacionadas à tipos de recurso"
    },
    {
      "name": "Grupos de Recurso",
      "description": "Operações relacionadas à grupos de recurso"
    }
  ],
  "info": {
    "title": "Tiflux Official API",
    "version": "2",
    "termsOfService": "https://tiflux.com/termos-de-uso/",
    "contact": {
      "email": "suporte@tiflux.com"
    },
    "description": "```yaml\nAuthorization: Bearer <api-token>\n```\n## Limite de requisições\nA API possui uma política de limitação de requisições, onde cada usuário pode fazer **120 requisições por minuto**.\n- Requisições não autenticadas (ou seja, que não incluíram um cabeçalho de *Authorization* válido na requisição), possuem um limite de 10 requisições por IP a cada minuto.\n#### **Cabeçalhos**\nTodas as respostas da API incluem três cabeçalhos que informam o status da limitação atual:\n- `RateLimit-Limit`: O número máximo de requisições permitidas no período.\n- `RateLimit-Remaining`: O número de requisições restantes no período atual.\n- `RateLimit-Reset`: Datetime indicando quando o período de limitação será redefinido.\n\nSe o limite for excedido, a API responderá com o código de status `429 Too Many Requests`. Use os cabeçalhos de Rate Limit para gerenciar e ajustar suas requisições de acordo com essas regras.\n<br/><br/>\n___\n## Convenções\nO URL base para enviar todas as solicitações de API é `https://api.tiflux.com/api/v2`. HTTPS é necessário para todas as solicitações de API.\n\nA seguinte API segue convenções RESTful quando possível, com a maioria das operações realizadas por meio de solicitações `GET`, `POST`, `PUT` e `DELETE` em recursos de páginas e bancos de dados. Os corpos de solicitação e resposta são codificados como JSON.\n#### **Convenções JSON**\n- Os recursos de nível superior podem ser endereçados por uma propriedade `id`.\n- Os nomes das propriedades estão em `snake_case` (não em `camelCase` ou `kebab-case`).\n- Os valores temporais (`dates` e `datetimes`) são codificados em strings [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). `datetimes` incluirão o valor da hora (`2020-08-12T02:12:33.231Z`), enquanto `date` incluirão apenas a data (`2020-08-12`)\n- Interpretação dos **valores booleanos** informados no corpo das requisições:\n  - `null` - Não é um valor válido. Se você informar null em um campo booleano, estará tentando limpar/apagar o valor existente\n  - `false, \"false\", \"f\", \"0\", 0` - Serão interpretados como **false**\n  - `Outros Valores` - Qualquer outro valor diferente dos descritos acima, será interpretado como **true**\n<br/><br/>\n___\n## Paginação\nPara garantir a eficiência ao retornar grandes conjuntos de dados, todas as rotas que retornam listas de itens utilizam paginação. \nIsso significa que os resultados são divididos em páginas menores, facilitando o gerenciamento e a visualização das informações.\n### **Parâmetros:**\nPara navegar pelas páginas e controlar a quantidade de itens exibidos, utilize os seguintes parâmetros na sua requisição:\n- `limit`: Define o número máximo de itens por página. O valor padrão é **20** e o valor máximo é **200**.\n- `offset`: Indica qual é a página que se deseja visualizar. O valor padrão é **1**.\n- `X-Total-Items`: Apresentado no cabeçalho das respostas. Ele representa o número total de itens que atendem aos filtros aplicados na consulta, que podem ser retornados nessa requisição.\n### **Exemplo:**\nSe você precisa percorrer uma lista de um total de 600 tickets (`X-Total-Items = 600`). Serão necessárias, no mínimo, 3 requisições:\n- `limit=200&offset=1`: Retorna a primeira página, com 200 tickets. Serão exibidos tickets de 1 a 200.\n- `limit=200&offset=2`: Retorna a segunda página, com mais 200 itens. Serão exibidos tickets de 201 a 400.\n- `limit=200&offset=3`: Retorna a terceira página, com os últimos 200 itens. Serão exibidos tickets de 401 a 600.\n<br/><br/>\n___\n## Permissionamento\n- As rotas dessa API podem necessitar de permissões especificas para acessa-las.\n- Essas permissões estarão ligadas diretamente com o grupo de permissões que o usuário autenticado possui.\n- Para facilitar a identificação das permissões necessárias, adicionamos TAGs nesta documentação, no topo de cada rota.\n- As TAGs possuem o seguinte formato: <span style=\"margin:1px; padding:1px 8px; font-weight:bold; border-radius:12px;  background-color: var(--light-red, var(--input-bg)); color:var(--red); border:1px solid var(--red)\"><!--?lit$8458964218$-->NOME DA PERMISSÃO</span> ou <span style=\"margin:1px; padding:1px 8px; font-weight:bold; border-radius:12px;  background-color: var(--light-green, var(--input-bg)); color:var(--green); border:1px solid var(--green)\"><!--?lit$8458964218$-->Livre</span> (indicando que a rota não exige permissão específica).\n- Se uma rota possuir mais de uma TAG, qualquer uma das permissões indicadas será suficiente.\n- Além das permissões, algumas rotas também exigem que o usuário possua uma licença ativa. A necessidade de uma licença específica (como a de Tickets, Chat, etc.) será claramente indicada junto com as permissões nas TAGs da rota. A ausência da licença ou permissão necessária, resultará em uma resposta de `403 Forbidden`.\n<br/><br/>\n___\n## Testes de rotas pela documentação\nEsta funcionalidade é especialmente útil para desenvolvedores que desejam verificar rapidamente o comportamento da API. Porém, atente-se de que **os testes não ocorrem em um ambiente de homologação, mas sim, em produção**. \n1. **Aplique o seu token no menu** [Authentication](/api/v2/#auth): É necessário colar apenas o seu token, a palavra Bearer já é inserida automaticamente. E então, clique em <button class=\"m-btn thin-border\" style=\"margin-left:5px;\" part=\"btn btn-outline\">SET</button>.\n2. **Selecione a Rota:** Navegue pela documentação e escolha a rota que você deseja testar.\n3. **Configure os Parâmetros:** Insira os parâmetros necessários para a chamada da API. Certifique-se de preencher todos os campos obrigatórios e a chave de autenticação do seu usuário.\n4. **Execute a Chamada:** Utilize a funcionalidade integrada de teste de rotas para enviar uma requisição à API (pelo botão <button class=\"m-btn primary thin-border\">TRY</button>). Você poderá ver a resposta imediatamente, o que inclui o status da resposta, cabeçalhos e o corpo da resposta.\n5. **Analise a Resposta:** Verifique os dados retornados pela API para garantir que estão de acordo com o esperado. Caso haja algum erro, ajuste os parâmetros e tente novamente.\n\n"
  },
  "paths": {
    "/clients/{client_id}/addresses": {
      "get": {
        "summary": "Listar endereços",
        "tags": [
          "Endereços"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "client_id",
            "in": "path",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista os endereços que existem em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_client_id_addresses",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "cep": "18202-1836",
                    "city": "Port Frankieland",
                    "complement": "Sem complementos por aqui",
                    "neighborhood": "Willow Heights",
                    "number": 12,
                    "state": "Arizona",
                    "street": "Walton Glens"
                  },
                  {
                    "id": 2,
                    "cep": "80820",
                    "city": "Lake Sherron",
                    "complement": "Sem complementos por aqui",
                    "neighborhood": "Eagle Crossing",
                    "number": 12,
                    "state": "Kansas",
                    "street": "Jerrell Drive"
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Testa se for informado uma string: 'a'": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "limit": [
                          "is not a number"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      },
      "post": {
        "summary": "Criar endereço",
        "tags": [
          "Endereços"
        ],
        "description": "Cria um novo endereço em um determinado cliente.",
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_clients_client_id_addresses",
        "responses": {
          "201": {
            "description": "### **Endereço criado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 3,
                  "cep": "06790",
                  "city": "New Evangelina",
                  "complement": "Em frente ao posto",
                  "neighborhood": "Pine Crossing",
                  "number": 123,
                  "state": "Tennessee",
                  "street": "Lindsey Street"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "neighborhood": [
                      "can't be blank"
                    ],
                    "state": [
                      "can't be blank"
                    ],
                    "city": [
                      "can't be blank"
                    ],
                    "cep": [
                      "can't be blank"
                    ],
                    "street": [
                      "can't be blank"
                    ],
                    "number": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Problemas com os parâmetros**\nEssa resposta significa que os parâmetros estão inválidos ou não foi informado um body para a requisição",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40003,
                  "message": "Missing required parameters. The request's body is invalid",
                  "detail": {
                    "error": [
                      "param is missing or the value is empty: address"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "cep": "06790",
                    "city": "New Evangelina",
                    "complement": "Em frente ao posto",
                    "neighborhood": "Pine Crossing",
                    "number": 123,
                    "state": "Tennessee",
                    "street": "Lindsey Street"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/clients/{client_id}/addresses/{id}": {
      "get": {
        "summary": "Exibir endereço",
        "tags": [
          "Endereços"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do endereço",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe informações detalhadas sobre um endereço cadastrado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_client_id_addresses_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "cep": "18202-1836",
                  "city": "Port Frankieland",
                  "complement": "Sem complementos por aqui",
                  "neighborhood": "Willow Heights",
                  "number": 12,
                  "state": "Arizona",
                  "street": "Walton Glens"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente ou endereço não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Address with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      },
      "put": {
        "summary": "Atualizar endereço",
        "tags": [
          "Endereços"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do endereço",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Atualiza informações de um endereço cadastrado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_clients_client_id_addresses_id",
        "responses": {
          "200": {
            "description": "### **Endereço atualizado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "cep": "18202-1836",
                  "city": "Port Frankieland",
                  "complement": "Sem complementos por aqui",
                  "neighborhood": "Willow Heights",
                  "number": 23,
                  "state": "Arizona",
                  "street": "Walton Glens"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente ou endereço não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Address with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "number": 23
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Excluir endereço",
        "tags": [
          "Endereços"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do endereço",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Remove um endereço cadastrado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_clients_client_id_addresses_id",
        "responses": {
          "204": {
            "description": "### **Endereço removido com sucesso**\nEssa resposta não contem body"
          },
          "404": {
            "description": "### **Cliente ou endereço não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Address with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ]
      }
    },
    "/chats/{id}": {
      "get": {
        "summary": "Exibir chat",
        "tags": [
          "Chats"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID do chat",
            "example": 1,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe informações detalhadas sobre um determinado chat.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_chats_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "archived": true,
                  "assessment": 4,
                  "assumed_at": "2026-04-28T21:19:49Z",
                  "canceled": false,
                  "client": {
                    "id": 3,
                    "name": "Donnelly LLC"
                  },
                  "created_at": "2026-04-28T21:17:49Z",
                  "department": {
                    "id": 14,
                    "name": "Bartell, Weimann and Emmerich",
                    "selected_at": "2026-04-28T21:18:49Z"
                  },
                  "is_campaign": false,
                  "last_client_message": "2026-04-28T21:27:49Z",
                  "online": false,
                  "origin": {
                    "integration_id": 1,
                    "_type": "gupshup",
                    "fields": {
                      "phone": "18125708951",
                      "name": "Warner Stehr JD"
                    }
                  },
                  "requestor": {
                    "id": 2451,
                    "email": "the.hien.hon.crona@weimann.test",
                    "name": "The Hon. Hien Crona"
                  },
                  "responsible": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  },
                  "room": "18125708951",
                  "services_catalog": {
                    "id": 1,
                    "item_name": "Geral",
                    "area_name": "Dúvidas",
                    "catalog_name": "Suporte"
                  },
                  "started_by": "API",
                  "ticket": {
                    "number": 1,
                    "title": "To be, or not to be: that is the question"
                  },
                  "updated_at": "2026-04-28T21:27:49Z",
                  "waiting_answer": false
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador do chat"
                    },
                    "archived": {
                      "type": "boolean",
                      "description": "O chat está arquivado ou finalizado?"
                    },
                    "assessment": {
                      "type": "integer",
                      "nullable": true,
                      "description": "Nota da avaliação do chat",
                      "minimum": 1,
                      "maximum": 5
                    },
                    "client": {
                      "type": "object",
                      "nullable": true,
                      "title": "Cliente",
                      "description": "Objeto contendo informações sobre o cliente associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do cliente"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do cliente"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Data de criação do chat"
                    },
                    "department": {
                      "type": "object",
                      "nullable": true,
                      "title": "Departamento",
                      "description": "Objeto contendo informações sobre o departamento associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do departamento"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do departamento"
                        },
                        "selected_at": {
                          "type": "string",
                          "description": "Data que o departamento foi selecionado"
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "selected_at"
                      ]
                    },
                    "last_client_message": {
                      "type": "string",
                      "nullable": true,
                      "description": "Data e hora da última mensagem enviada pelo cliente no chat"
                    },
                    "online": {
                      "type": "boolean",
                      "description": "Específico para origem widget, indica se na conversa, quem abriu o chat ainda está online"
                    },
                    "origin": {
                      "type": "object",
                      "title": "Origem",
                      "description": "Objeto contendo informações sobre a origem do chat",
                      "properties": {
                        "integration_id": {
                          "type": "integer",
                          "description": "ID da integração que deu origem ao chat"
                        },
                        "_type": {
                          "type": "string",
                          "description": "Qual é a origem do chat",
                          "enum": [
                            "chat",
                            "site_widget",
                            "campaign",
                            "whatsapp",
                            "whatsapp_web",
                            "gupshup",
                            "whatsapp_cloud"
                          ]
                        },
                        "fields": {
                          "type": "object",
                          "nullable": true,
                          "additionalProperties": true,
                          "description": "Campo JSON com estrutura variada e dinâmica. As chaves e tipos de valor podem variar conforme a origem do chat",
                          "properties": {
                            "name": {
                              "type": "string",
                              "nullable": true,
                              "description": "Quando disponível, esse campo irá conter o nome do contato"
                            }
                          }
                        }
                      },
                      "required": [
                        "integration_id",
                        "_type",
                        "fields"
                      ]
                    },
                    "requestor": {
                      "type": "object",
                      "title": "Solicitante",
                      "description": "Objeto contendo informações sobre o solicitante associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "nullable": true,
                          "description": "ID do solicitante"
                        },
                        "email": {
                          "type": "string",
                          "nullable": true,
                          "description": "E-mail do solicitante"
                        },
                        "name": {
                          "type": "string",
                          "nullable": true,
                          "description": "Nome do solicitante ou nome do contato.\n* Quando o chat possui um solicitante vinculado, retorna o nome do solicitante\n* Quando o chat não possui solicitante vinculado, retorna o nome do contato"
                        }
                      },
                      "required": [
                        "id",
                        "email",
                        "name"
                      ]
                    },
                    "room": {
                      "type": "string",
                      "description": "Identificador da sessão do chat. Pode ser o número do chat, o identificador do WhatsApp ou um identificador único de sessão"
                    },
                    "started_by": {
                      "type": "string",
                      "description": "Indicador de quem iniciou o chat",
                      "enum": [
                        "Client",
                        "Attendant",
                        "Campaign",
                        "API"
                      ]
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "Data da última modificação no chat"
                    },
                    "waiting_answer": {
                      "type": "boolean",
                      "description": "O chat está esperando resposta do atendente?"
                    },
                    "assumed_at": {
                      "type": "string",
                      "description": "Data em que o chat foi assumido"
                    },
                    "canceled": {
                      "type": "boolean",
                      "description": "O chat está cancelado?"
                    },
                    "responsible": {
                      "type": "object",
                      "title": "Responsável",
                      "nullable": true,
                      "description": "Objeto contendo informações sobre o usuário responsável associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do usuário responsável"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do usuário responsável"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "services_catalog": {
                      "type": "object",
                      "title": "Catálogo de Serviços",
                      "nullable": true,
                      "description": "Objeto contendo informações sobre o catálogo de serviço associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do item de catálogo de serviços"
                        },
                        "item_name": {
                          "type": "string",
                          "description": "Nome do item de catálogo de serviços"
                        },
                        "area_name": {
                          "type": "string",
                          "description": "Nome da área de catálogo de serviços"
                        },
                        "catalog_name": {
                          "type": "string",
                          "description": "Nome do catálogo"
                        }
                      },
                      "required": [
                        "id",
                        "item_name",
                        "area_name",
                        "catalog_name"
                      ]
                    },
                    "is_campaign": {
                      "type": "boolean",
                      "description": "O chat foi iniciado por um disparo de campanha?"
                    },
                    "ticket": {
                      "type": "object",
                      "title": "Ticket",
                      "description": "Objeto contendo informações sobre o ticket relacionado ao chat",
                      "nullable": true,
                      "properties": {
                        "number": {
                          "type": "integer",
                          "description": "Número do ticket"
                        },
                        "title": {
                          "type": "string",
                          "description": "Título do ticke"
                        }
                      },
                      "required": [
                        "number",
                        "title"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "archived",
                    "assessment",
                    "client",
                    "created_at",
                    "department",
                    "last_client_message",
                    "online",
                    "origin",
                    "requestor",
                    "room",
                    "started_by",
                    "updated_at",
                    "waiting_answer",
                    "assumed_at",
                    "canceled",
                    "responsible",
                    "services_catalog",
                    "is_campaign",
                    "ticket"
                  ]
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "id": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Chat não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Chat with 'id'=\"99999999\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Acessar o chat"
          }
        ]
      },
      "put": {
        "summary": "Atualizar chat",
        "tags": [
          "Chats"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID do chat",
            "example": 37,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Atualiza informações de um determinado chat.\n- Só é possível atualizar um chat que **não esteja cancelado ou encerrado**.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_chats_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 2,
                  "archived": false,
                  "assessment": null,
                  "assumed_at": "2026-04-28T21:27:49Z",
                  "canceled": false,
                  "client": null,
                  "created_at": "2026-04-28T21:27:49Z",
                  "department": {
                    "id": 13,
                    "name": "McCullough-Hermiston",
                    "selected_at": "2026-04-28T21:27:49Z"
                  },
                  "is_campaign": false,
                  "last_client_message": null,
                  "online": false,
                  "origin": {
                    "integration_id": 1,
                    "_type": "gupshup",
                    "fields": {
                      "phone": "18659856040",
                      "name": "Grant Schroeder"
                    }
                  },
                  "requestor": {
                    "id": 814,
                    "email": "kertzmann_meredith_prof@wilderman.test",
                    "name": "Prof. Meredith Kertzmann"
                  },
                  "responsible": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  },
                  "room": "18659856040",
                  "services_catalog": null,
                  "started_by": "Client",
                  "ticket": {
                    "number": 1,
                    "title": "To be, or not to be: that is the question"
                  },
                  "updated_at": "2026-04-28T21:27:49Z",
                  "waiting_answer": false
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador do chat"
                    },
                    "archived": {
                      "type": "boolean",
                      "description": "O chat está arquivado ou finalizado?"
                    },
                    "assessment": {
                      "type": "integer",
                      "nullable": true,
                      "description": "Nota da avaliação do chat",
                      "minimum": 1,
                      "maximum": 5
                    },
                    "client": {
                      "type": "object",
                      "nullable": true,
                      "title": "Cliente",
                      "description": "Objeto contendo informações sobre o cliente associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do cliente"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do cliente"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Data de criação do chat"
                    },
                    "department": {
                      "type": "object",
                      "nullable": true,
                      "title": "Departamento",
                      "description": "Objeto contendo informações sobre o departamento associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do departamento"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do departamento"
                        },
                        "selected_at": {
                          "type": "string",
                          "description": "Data que o departamento foi selecionado"
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "selected_at"
                      ]
                    },
                    "last_client_message": {
                      "type": "string",
                      "nullable": true,
                      "description": "Data e hora da última mensagem enviada pelo cliente no chat"
                    },
                    "online": {
                      "type": "boolean",
                      "description": "Específico para origem widget, indica se na conversa, quem abriu o chat ainda está online"
                    },
                    "origin": {
                      "type": "object",
                      "title": "Origem",
                      "description": "Objeto contendo informações sobre a origem do chat",
                      "properties": {
                        "integration_id": {
                          "type": "integer",
                          "description": "ID da integração que deu origem ao chat"
                        },
                        "_type": {
                          "type": "string",
                          "description": "Qual é a origem do chat",
                          "enum": [
                            "chat",
                            "site_widget",
                            "campaign",
                            "whatsapp",
                            "whatsapp_web",
                            "gupshup",
                            "whatsapp_cloud"
                          ]
                        },
                        "fields": {
                          "type": "object",
                          "nullable": true,
                          "additionalProperties": true,
                          "description": "Campo JSON com estrutura variada e dinâmica. As chaves e tipos de valor podem variar conforme a origem do chat",
                          "properties": {
                            "name": {
                              "type": "string",
                              "nullable": true,
                              "description": "Quando disponível, esse campo irá conter o nome do contato"
                            }
                          }
                        }
                      },
                      "required": [
                        "integration_id",
                        "_type",
                        "fields"
                      ]
                    },
                    "requestor": {
                      "type": "object",
                      "title": "Solicitante",
                      "description": "Objeto contendo informações sobre o solicitante associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "nullable": true,
                          "description": "ID do solicitante"
                        },
                        "email": {
                          "type": "string",
                          "nullable": true,
                          "description": "E-mail do solicitante"
                        },
                        "name": {
                          "type": "string",
                          "nullable": true,
                          "description": "Nome do solicitante ou nome do contato.\n* Quando o chat possui um solicitante vinculado, retorna o nome do solicitante\n* Quando o chat não possui solicitante vinculado, retorna o nome do contato"
                        }
                      },
                      "required": [
                        "id",
                        "email",
                        "name"
                      ]
                    },
                    "room": {
                      "type": "string",
                      "description": "Identificador da sessão do chat. Pode ser o número do chat, o identificador do WhatsApp ou um identificador único de sessão"
                    },
                    "started_by": {
                      "type": "string",
                      "description": "Indicador de quem iniciou o chat",
                      "enum": [
                        "Client",
                        "Attendant",
                        "Campaign",
                        "API"
                      ]
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "Data da última modificação no chat"
                    },
                    "waiting_answer": {
                      "type": "boolean",
                      "description": "O chat está esperando resposta do atendente?"
                    },
                    "assumed_at": {
                      "type": "string",
                      "description": "Data em que o chat foi assumido"
                    },
                    "canceled": {
                      "type": "boolean",
                      "description": "O chat está cancelado?"
                    },
                    "responsible": {
                      "type": "object",
                      "title": "Responsável",
                      "nullable": true,
                      "description": "Objeto contendo informações sobre o usuário responsável associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do usuário responsável"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do usuário responsável"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "services_catalog": {
                      "type": "object",
                      "title": "Catálogo de Serviços",
                      "nullable": true,
                      "description": "Objeto contendo informações sobre o catálogo de serviço associado ao chat",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do item de catálogo de serviços"
                        },
                        "item_name": {
                          "type": "string",
                          "description": "Nome do item de catálogo de serviços"
                        },
                        "area_name": {
                          "type": "string",
                          "description": "Nome da área de catálogo de serviços"
                        },
                        "catalog_name": {
                          "type": "string",
                          "description": "Nome do catálogo"
                        }
                      },
                      "required": [
                        "id",
                        "item_name",
                        "area_name",
                        "catalog_name"
                      ]
                    },
                    "is_campaign": {
                      "type": "boolean",
                      "description": "O chat foi iniciado por um disparo de campanha?"
                    },
                    "ticket": {
                      "type": "object",
                      "title": "Ticket",
                      "description": "Objeto contendo informações sobre o ticket relacionado ao chat",
                      "nullable": true,
                      "properties": {
                        "number": {
                          "type": "integer",
                          "description": "Número do ticket"
                        },
                        "title": {
                          "type": "string",
                          "description": "Título do ticke"
                        }
                      },
                      "required": [
                        "number",
                        "title"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "archived",
                    "assessment",
                    "client",
                    "created_at",
                    "department",
                    "last_client_message",
                    "online",
                    "origin",
                    "requestor",
                    "room",
                    "started_by",
                    "updated_at",
                    "waiting_answer",
                    "assumed_at",
                    "canceled",
                    "responsible",
                    "services_catalog",
                    "is_campaign",
                    "ticket"
                  ]
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "ticket_number": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Chat não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Chat with 'id'=\"99999999\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Acessar o chat"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user_id": {
                    "type": "integer",
                    "description": "**Identificador do usuário** atendente para o qual o chat será transferido."
                  },
                  "department_id": {
                    "type": "integer",
                    "description": "**Identificar do departamento** para o qual o chat será transferido."
                  },
                  "ticket_number": {
                    "type": "integer",
                    "description": "**Número do ticket**, se você deseja vincular o chat a um ticket"
                  }
                }
              },
              "examples": {
                "Atualizar com todas as informações": {
                  "summary": "Atualizar com todas as informações",
                  "value": {
                    "user_id": 1,
                    "department_id": 13,
                    "ticket_number": 1
                  }
                },
                "Alterar atendente": {
                  "summary": "Alterar atendente",
                  "value": {
                    "user_id": 1
                  }
                },
                "Alterar departamento": {
                  "summary": "Alterar departamento",
                  "value": {
                    "department_id": 13
                  }
                },
                "Alterar ou vincular um ticket ao chat": {
                  "summary": "Alterar ou vincular um ticket ao chat",
                  "value": {
                    "ticket_number": 1
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Confira abaixo exemplos de uso"
        }
      }
    },
    "/chats/inbox": {
      "get": {
        "summary": "Listar chats da caixa de entrada",
        "tags": [
          "Chats"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "department_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do departamento",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do cliente",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "requestor_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do solicitante vinculado ao chat",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "number",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo número que entrou em contato.\nÉ necessário uma licença Whatsapp para utilizar esse parâmetro",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "origins",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo canal de origem. Pode ser informada mais de uma origem, separada por vírgula",
            "schema": {
              "type": "string",
              "enum": [
                "chat",
                "site_widget",
                "campaign",
                "whatsapp",
                "whatsapp_web",
                "gupshup",
                "whatsapp_cloud"
              ]
            },
            "examples": {
              "1": {
                "value": "gupshup",
                "summary": "Filtrar por chats de origem gupshup"
              },
              "2": {
                "value": "gupshup,site_widget",
                "summary": "Filtrar por chats de origem gupshup ou widget"
              }
            }
          },
          {
            "name": "started_by",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pela forma de como eles foram iniciados",
            "schema": {
              "type": "string",
              "enum": [
                "Client",
                "Attendant",
                "Campaign",
                "API"
              ]
            },
            "examples": {
              "0": {
                "value": "Client",
                "summary": "Chats iniciados pelo cliente"
              },
              "1": {
                "value": "Attendant",
                "summary": "Chats iniciados pelo atendente"
              },
              "2": {
                "value": "Campaign",
                "summary": "Chats iniciados através da funcionalidade de campanha"
              },
              "3": {
                "value": "API",
                "summary": "Chats iniciados através da API"
              }
            }
          }
        ],
        "description": "Lista os chats que estão na caixa de entrada da sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_chats_inbox",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 3,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 4,
                      "name": "Daugherty, Yundt and Casper"
                    },
                    "created_at": "2026-04-28T21:27:50Z",
                    "department": {
                      "id": 19,
                      "name": "Koelpin, Erdman and Langosh",
                      "selected_at": "2026-04-28T21:28:50Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "15746823416",
                        "name": "Adeline Botsford"
                      }
                    },
                    "requestor": {
                      "id": 2914,
                      "email": "allyson.treutel@williamson.test",
                      "name": "Allyson Treutel"
                    },
                    "room": "15746823416",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:50Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 4,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 5,
                      "name": "Adams, Ritchie and Stokes"
                    },
                    "created_at": "2026-04-28T21:27:50Z",
                    "department": {
                      "id": 20,
                      "name": "Jaskolski-Boehm",
                      "selected_at": "2026-04-28T21:28:50Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "16144247134",
                        "name": "Jarred Rowe"
                      }
                    },
                    "requestor": {
                      "id": 682,
                      "email": "simonis.bea@mosciski.example",
                      "name": "Bea Simonis"
                    },
                    "room": "16144247134",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:50Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 2,
                    "archived": false,
                    "assessment": null,
                    "client": null,
                    "created_at": "2026-04-28T21:27:49Z",
                    "department": null,
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "18659856040",
                        "name": "Grant Schroeder"
                      }
                    },
                    "requestor": {
                      "id": 814,
                      "email": "kertzmann_meredith_prof@wilderman.test",
                      "name": "Prof. Meredith Kertzmann"
                    },
                    "room": "18659856040",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:49Z",
                    "waiting_answer": false
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do chat"
                      },
                      "archived": {
                        "type": "boolean",
                        "description": "O chat está arquivado ou finalizado?"
                      },
                      "assessment": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Nota da avaliação do chat",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "client": {
                        "type": "object",
                        "nullable": true,
                        "title": "Cliente",
                        "description": "Objeto contendo informações sobre o cliente associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do cliente"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do cliente"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "created_at": {
                        "type": "string",
                        "description": "Data de criação do chat"
                      },
                      "department": {
                        "type": "object",
                        "nullable": true,
                        "title": "Departamento",
                        "description": "Objeto contendo informações sobre o departamento associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do departamento"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do departamento"
                          },
                          "selected_at": {
                            "type": "string",
                            "description": "Data que o departamento foi selecionado"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "selected_at"
                        ]
                      },
                      "last_client_message": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data e hora da última mensagem enviada pelo cliente no chat"
                      },
                      "online": {
                        "type": "boolean",
                        "description": "Específico para origem widget, indica se na conversa, quem abriu o chat ainda está online"
                      },
                      "origin": {
                        "type": "object",
                        "title": "Origem",
                        "description": "Objeto contendo informações sobre a origem do chat",
                        "properties": {
                          "integration_id": {
                            "type": "integer",
                            "description": "ID da integração que deu origem ao chat"
                          },
                          "_type": {
                            "type": "string",
                            "description": "Qual é a origem do chat",
                            "enum": [
                              "chat",
                              "site_widget",
                              "campaign",
                              "whatsapp",
                              "whatsapp_web",
                              "gupshup",
                              "whatsapp_cloud"
                            ]
                          },
                          "fields": {
                            "type": "object",
                            "nullable": true,
                            "additionalProperties": true,
                            "description": "Campo JSON com estrutura variada e dinâmica. As chaves e tipos de valor podem variar conforme a origem do chat",
                            "properties": {
                              "name": {
                                "type": "string",
                                "nullable": true,
                                "description": "Quando disponível, esse campo irá conter o nome do contato"
                              }
                            }
                          }
                        },
                        "required": [
                          "integration_id",
                          "_type",
                          "fields"
                        ]
                      },
                      "requestor": {
                        "type": "object",
                        "title": "Solicitante",
                        "description": "Objeto contendo informações sobre o solicitante associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "nullable": true,
                            "description": "ID do solicitante"
                          },
                          "email": {
                            "type": "string",
                            "nullable": true,
                            "description": "E-mail do solicitante"
                          },
                          "name": {
                            "type": "string",
                            "nullable": true,
                            "description": "Nome do solicitante ou nome do contato.\n* Quando o chat possui um solicitante vinculado, retorna o nome do solicitante\n* Quando o chat não possui solicitante vinculado, retorna o nome do contato"
                          }
                        },
                        "required": [
                          "id",
                          "email",
                          "name"
                        ]
                      },
                      "room": {
                        "type": "string",
                        "description": "Identificador da sessão do chat. Pode ser o número do chat, o identificador do WhatsApp ou um identificador único de sessão"
                      },
                      "started_by": {
                        "type": "string",
                        "description": "Indicador de quem iniciou o chat",
                        "enum": [
                          "Client",
                          "Attendant",
                          "Campaign",
                          "API"
                        ]
                      },
                      "updated_at": {
                        "type": "string",
                        "description": "Data da última modificação no chat"
                      },
                      "waiting_answer": {
                        "type": "boolean",
                        "description": "O chat está esperando resposta do atendente?"
                      }
                    },
                    "required": [
                      "id",
                      "archived",
                      "assessment",
                      "client",
                      "created_at",
                      "department",
                      "last_client_message",
                      "online",
                      "origin",
                      "requestor",
                      "room",
                      "started_by",
                      "updated_at",
                      "waiting_answer"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Origem - opção inválida": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "origins": [
                          "'walkie-talkie' is not a valid origin"
                        ]
                      }
                    }
                  },
                  "Number - não aceita letras": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "number": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Requestor_id - números menores ou iguais a 0": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "requestor_id": [
                          "must be greater than 0"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Acessar o chat"
          }
        ]
      }
    },
    "/chats/mine": {
      "get": {
        "summary": "Listar meus chats",
        "tags": [
          "Chats"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "department_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do departamento",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do cliente",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "requestor_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do solicitante vinculado ao chat",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "number",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo número que entrou em contato.\nÉ necessário uma licença Whatsapp para utilizar esse parâmetro",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "origins",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo canal de origem. Pode ser informada mais de uma origem, separada por vírgula",
            "schema": {
              "type": "string",
              "enum": [
                "chat",
                "site_widget",
                "campaign",
                "whatsapp",
                "whatsapp_web",
                "gupshup",
                "whatsapp_cloud"
              ]
            },
            "examples": {
              "1": {
                "value": "gupshup",
                "summary": "Filtrar por chats de origem gupshup"
              },
              "2": {
                "value": "gupshup,site_widget",
                "summary": "Filtrar por chats de origem gupshup ou widget"
              }
            }
          },
          {
            "name": "started_by",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pela forma de como eles foram iniciados",
            "schema": {
              "type": "string",
              "enum": [
                "Client",
                "Attendant",
                "Campaign",
                "API"
              ]
            },
            "examples": {
              "0": {
                "value": "Client",
                "summary": "Chats iniciados pelo cliente"
              },
              "1": {
                "value": "Attendant",
                "summary": "Chats iniciados pelo atendente"
              },
              "2": {
                "value": "Campaign",
                "summary": "Chats iniciados através da funcionalidade de campanha"
              },
              "3": {
                "value": "API",
                "summary": "Chats iniciados através da API"
              }
            }
          }
        ],
        "description": "Lista os chats que estão em atendimento com o seu usuário.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_chats_mine",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 6,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 7,
                      "name": "Brakus-Ullrich"
                    },
                    "created_at": "2026-04-28T21:27:50Z",
                    "department": {
                      "id": 24,
                      "name": "Kuhic Inc",
                      "selected_at": "2026-04-28T21:28:50Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "12288182317",
                        "name": "Rev. Deadra Stroman"
                      }
                    },
                    "requestor": {
                      "id": 7825,
                      "email": "hickle.lee@schaefer.example",
                      "name": "Lee Hickle"
                    },
                    "room": "12288182317",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:50Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 5,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 6,
                      "name": "Stehr Inc"
                    },
                    "created_at": "2026-04-28T21:27:50Z",
                    "department": {
                      "id": 23,
                      "name": "Connelly, Bergnaum and Langworth",
                      "selected_at": "2026-04-28T21:28:50Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "15172761973",
                        "name": "Yasmine Jacobi"
                      }
                    },
                    "requestor": {
                      "id": 3451,
                      "email": "julian_collier@bartell.example",
                      "name": "Julian Collier"
                    },
                    "room": "15172761973",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:50Z",
                    "waiting_answer": false
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do chat"
                      },
                      "archived": {
                        "type": "boolean",
                        "description": "O chat está arquivado ou finalizado?"
                      },
                      "assessment": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Nota da avaliação do chat",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "client": {
                        "type": "object",
                        "nullable": true,
                        "title": "Cliente",
                        "description": "Objeto contendo informações sobre o cliente associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do cliente"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do cliente"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "created_at": {
                        "type": "string",
                        "description": "Data de criação do chat"
                      },
                      "department": {
                        "type": "object",
                        "nullable": true,
                        "title": "Departamento",
                        "description": "Objeto contendo informações sobre o departamento associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do departamento"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do departamento"
                          },
                          "selected_at": {
                            "type": "string",
                            "description": "Data que o departamento foi selecionado"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "selected_at"
                        ]
                      },
                      "last_client_message": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data e hora da última mensagem enviada pelo cliente no chat"
                      },
                      "online": {
                        "type": "boolean",
                        "description": "Específico para origem widget, indica se na conversa, quem abriu o chat ainda está online"
                      },
                      "origin": {
                        "type": "object",
                        "title": "Origem",
                        "description": "Objeto contendo informações sobre a origem do chat",
                        "properties": {
                          "integration_id": {
                            "type": "integer",
                            "description": "ID da integração que deu origem ao chat"
                          },
                          "_type": {
                            "type": "string",
                            "description": "Qual é a origem do chat",
                            "enum": [
                              "chat",
                              "site_widget",
                              "campaign",
                              "whatsapp",
                              "whatsapp_web",
                              "gupshup",
                              "whatsapp_cloud"
                            ]
                          },
                          "fields": {
                            "type": "object",
                            "nullable": true,
                            "additionalProperties": true,
                            "description": "Campo JSON com estrutura variada e dinâmica. As chaves e tipos de valor podem variar conforme a origem do chat",
                            "properties": {
                              "name": {
                                "type": "string",
                                "nullable": true,
                                "description": "Quando disponível, esse campo irá conter o nome do contato"
                              }
                            }
                          }
                        },
                        "required": [
                          "integration_id",
                          "_type",
                          "fields"
                        ]
                      },
                      "requestor": {
                        "type": "object",
                        "title": "Solicitante",
                        "description": "Objeto contendo informações sobre o solicitante associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "nullable": true,
                            "description": "ID do solicitante"
                          },
                          "email": {
                            "type": "string",
                            "nullable": true,
                            "description": "E-mail do solicitante"
                          },
                          "name": {
                            "type": "string",
                            "nullable": true,
                            "description": "Nome do solicitante ou nome do contato.\n* Quando o chat possui um solicitante vinculado, retorna o nome do solicitante\n* Quando o chat não possui solicitante vinculado, retorna o nome do contato"
                          }
                        },
                        "required": [
                          "id",
                          "email",
                          "name"
                        ]
                      },
                      "room": {
                        "type": "string",
                        "description": "Identificador da sessão do chat. Pode ser o número do chat, o identificador do WhatsApp ou um identificador único de sessão"
                      },
                      "started_by": {
                        "type": "string",
                        "description": "Indicador de quem iniciou o chat",
                        "enum": [
                          "Client",
                          "Attendant",
                          "Campaign",
                          "API"
                        ]
                      },
                      "updated_at": {
                        "type": "string",
                        "description": "Data da última modificação no chat"
                      },
                      "waiting_answer": {
                        "type": "boolean",
                        "description": "O chat está esperando resposta do atendente?"
                      }
                    },
                    "required": [
                      "id",
                      "archived",
                      "assessment",
                      "client",
                      "created_at",
                      "department",
                      "last_client_message",
                      "online",
                      "origin",
                      "requestor",
                      "room",
                      "started_by",
                      "updated_at",
                      "waiting_answer"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Origem - opção inválida": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "origins": [
                          "'walkie-talkie' is not a valid origin"
                        ]
                      }
                    }
                  },
                  "Number - não aceita letras": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "number": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Requestor_id - números menores ou iguais a 0": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "requestor_id": [
                          "must be greater than 0"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Acessar o chat"
          }
        ]
      }
    },
    "/chats/in_attendance": {
      "get": {
        "summary": "Listar chats em atendimento",
        "tags": [
          "Chats"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "department_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do departamento",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do cliente",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "requestor_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do solicitante vinculado ao chat",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do responsável do chat",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "number",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo número que entrou em contato.\nÉ necessário uma licença Whatsapp para utilizar esse parâmetro",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "origins",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo canal de origem. Pode ser informada mais de uma origem, separada por vírgula",
            "schema": {
              "type": "string",
              "enum": [
                "chat",
                "site_widget",
                "campaign",
                "whatsapp",
                "whatsapp_web",
                "gupshup",
                "whatsapp_cloud"
              ]
            },
            "examples": {
              "1": {
                "value": "gupshup",
                "summary": "Filtrar por chats de origem gupshup"
              },
              "2": {
                "value": "gupshup,site_widget",
                "summary": "Filtrar por chats de origem gupshup ou widget"
              }
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo seu status",
            "schema": {
              "type": "string",
              "enum": [
                "waiting_client",
                "waiting_attendance",
                "triage"
              ]
            },
            "examples": {
              "1": {
                "value": "waiting_client",
                "summary": "Aguardando atendimento"
              },
              "2": {
                "value": "waiting_attendance",
                "summary": "Aguardando cliente"
              },
              "3": {
                "value": "triage",
                "summary": "Triagem"
              }
            }
          },
          {
            "name": "started_by",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pela forma de como eles foram iniciados",
            "schema": {
              "type": "string",
              "enum": [
                "Client",
                "Attendant",
                "Campaign",
                "API"
              ]
            },
            "examples": {
              "0": {
                "value": "Client",
                "summary": "Chats iniciados pelo cliente"
              },
              "1": {
                "value": "Attendant",
                "summary": "Chats iniciados pelo atendente"
              },
              "2": {
                "value": "Campaign",
                "summary": "Chats iniciados através da funcionalidade de campanha"
              },
              "3": {
                "value": "API",
                "summary": "Chats iniciados através da API"
              }
            }
          }
        ],
        "description": "Lista os chats que estão em atendimento na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_chats_in_attendance",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 3,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 4,
                      "name": "Daugherty, Yundt and Casper"
                    },
                    "created_at": "2026-04-28T21:27:50Z",
                    "department": {
                      "id": 19,
                      "name": "Koelpin, Erdman and Langosh",
                      "selected_at": "2026-04-28T21:28:50Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "15746823416",
                        "name": "Adeline Botsford"
                      }
                    },
                    "requestor": {
                      "id": 2914,
                      "email": "allyson.treutel@williamson.test",
                      "name": "Allyson Treutel"
                    },
                    "responsible": null,
                    "room": "15746823416",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:50Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 4,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 5,
                      "name": "Adams, Ritchie and Stokes"
                    },
                    "created_at": "2026-04-28T21:27:50Z",
                    "department": {
                      "id": 20,
                      "name": "Jaskolski-Boehm",
                      "selected_at": "2026-04-28T21:28:50Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "16144247134",
                        "name": "Jarred Rowe"
                      }
                    },
                    "requestor": {
                      "id": 682,
                      "email": "simonis.bea@mosciski.example",
                      "name": "Bea Simonis"
                    },
                    "responsible": null,
                    "room": "16144247134",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:50Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 5,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 6,
                      "name": "Stehr Inc"
                    },
                    "created_at": "2026-04-28T21:27:50Z",
                    "department": {
                      "id": 23,
                      "name": "Connelly, Bergnaum and Langworth",
                      "selected_at": "2026-04-28T21:28:50Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "15172761973",
                        "name": "Yasmine Jacobi"
                      }
                    },
                    "requestor": {
                      "id": 3451,
                      "email": "julian_collier@bartell.example",
                      "name": "Julian Collier"
                    },
                    "responsible": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    },
                    "room": "15172761973",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:50Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 6,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 7,
                      "name": "Brakus-Ullrich"
                    },
                    "created_at": "2026-04-28T21:27:50Z",
                    "department": {
                      "id": 24,
                      "name": "Kuhic Inc",
                      "selected_at": "2026-04-28T21:28:50Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "12288182317",
                        "name": "Rev. Deadra Stroman"
                      }
                    },
                    "requestor": {
                      "id": 7825,
                      "email": "hickle.lee@schaefer.example",
                      "name": "Lee Hickle"
                    },
                    "responsible": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    },
                    "room": "12288182317",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:50Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 7,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 8,
                      "name": "Oberbrunner Inc"
                    },
                    "created_at": "2026-04-28T21:27:51Z",
                    "department": {
                      "id": 27,
                      "name": "Johns, Dooley and Shanahan",
                      "selected_at": "2026-04-28T21:28:51Z"
                    },
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "18566054628",
                        "name": "Lon McCullough"
                      }
                    },
                    "requestor": {
                      "id": 543,
                      "email": "goldie.kling@zboncak.example",
                      "name": "Goldie Kling"
                    },
                    "responsible": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    },
                    "room": "18566054628",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:51Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 2,
                    "archived": false,
                    "assessment": null,
                    "client": null,
                    "created_at": "2026-04-28T21:27:49Z",
                    "department": null,
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "18659856040",
                        "name": "Grant Schroeder"
                      }
                    },
                    "requestor": {
                      "id": 814,
                      "email": "kertzmann_meredith_prof@wilderman.test",
                      "name": "Prof. Meredith Kertzmann"
                    },
                    "responsible": null,
                    "room": "18659856040",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:49Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 8,
                    "archived": false,
                    "assessment": null,
                    "client": {
                      "id": 8,
                      "name": "Oberbrunner Inc"
                    },
                    "created_at": "2026-04-28T21:27:51Z",
                    "department": null,
                    "last_client_message": null,
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "12029085251",
                        "name": "Valentine Paucek"
                      }
                    },
                    "requestor": {
                      "id": 6360,
                      "email": "bret.ritchie@runolfsson.test",
                      "name": "Bret Ritchie"
                    },
                    "responsible": null,
                    "room": "12029085251",
                    "started_by": "Client",
                    "updated_at": "2026-04-28T21:27:51Z",
                    "waiting_answer": false
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do chat"
                      },
                      "archived": {
                        "type": "boolean",
                        "description": "O chat está arquivado ou finalizado?"
                      },
                      "assessment": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Nota da avaliação do chat",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "client": {
                        "type": "object",
                        "nullable": true,
                        "title": "Cliente",
                        "description": "Objeto contendo informações sobre o cliente associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do cliente"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do cliente"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "created_at": {
                        "type": "string",
                        "description": "Data de criação do chat"
                      },
                      "department": {
                        "type": "object",
                        "nullable": true,
                        "title": "Departamento",
                        "description": "Objeto contendo informações sobre o departamento associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do departamento"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do departamento"
                          },
                          "selected_at": {
                            "type": "string",
                            "description": "Data que o departamento foi selecionado"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "selected_at"
                        ]
                      },
                      "last_client_message": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data e hora da última mensagem enviada pelo cliente no chat"
                      },
                      "online": {
                        "type": "boolean",
                        "description": "Específico para origem widget, indica se na conversa, quem abriu o chat ainda está online"
                      },
                      "origin": {
                        "type": "object",
                        "title": "Origem",
                        "description": "Objeto contendo informações sobre a origem do chat",
                        "properties": {
                          "integration_id": {
                            "type": "integer",
                            "description": "ID da integração que deu origem ao chat"
                          },
                          "_type": {
                            "type": "string",
                            "description": "Qual é a origem do chat",
                            "enum": [
                              "chat",
                              "site_widget",
                              "campaign",
                              "whatsapp",
                              "whatsapp_web",
                              "gupshup",
                              "whatsapp_cloud"
                            ]
                          },
                          "fields": {
                            "type": "object",
                            "nullable": true,
                            "additionalProperties": true,
                            "description": "Campo JSON com estrutura variada e dinâmica. As chaves e tipos de valor podem variar conforme a origem do chat",
                            "properties": {
                              "name": {
                                "type": "string",
                                "nullable": true,
                                "description": "Quando disponível, esse campo irá conter o nome do contato"
                              }
                            }
                          }
                        },
                        "required": [
                          "integration_id",
                          "_type",
                          "fields"
                        ]
                      },
                      "requestor": {
                        "type": "object",
                        "title": "Solicitante",
                        "description": "Objeto contendo informações sobre o solicitante associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "nullable": true,
                            "description": "ID do solicitante"
                          },
                          "email": {
                            "type": "string",
                            "nullable": true,
                            "description": "E-mail do solicitante"
                          },
                          "name": {
                            "type": "string",
                            "nullable": true,
                            "description": "Nome do solicitante ou nome do contato.\n* Quando o chat possui um solicitante vinculado, retorna o nome do solicitante\n* Quando o chat não possui solicitante vinculado, retorna o nome do contato"
                          }
                        },
                        "required": [
                          "id",
                          "email",
                          "name"
                        ]
                      },
                      "room": {
                        "type": "string",
                        "description": "Identificador da sessão do chat. Pode ser o número do chat, o identificador do WhatsApp ou um identificador único de sessão"
                      },
                      "started_by": {
                        "type": "string",
                        "description": "Indicador de quem iniciou o chat",
                        "enum": [
                          "Client",
                          "Attendant",
                          "Campaign",
                          "API"
                        ]
                      },
                      "updated_at": {
                        "type": "string",
                        "description": "Data da última modificação no chat"
                      },
                      "waiting_answer": {
                        "type": "boolean",
                        "description": "O chat está esperando resposta do atendente?"
                      },
                      "responsible": {
                        "type": "object",
                        "title": "Responsável",
                        "nullable": true,
                        "description": "Objeto contendo informações sobre o usuário responsável associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do usuário responsável"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do usuário responsável"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "archived",
                      "assessment",
                      "client",
                      "created_at",
                      "department",
                      "last_client_message",
                      "online",
                      "origin",
                      "requestor",
                      "room",
                      "started_by",
                      "updated_at",
                      "waiting_answer",
                      "responsible"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Origem - opção inválida": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "origins": [
                          "'walkie-talkie' is not a valid origin"
                        ]
                      }
                    }
                  },
                  "Number - não aceita letras": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "number": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Requestor_id - números menores ou iguais a 0": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "requestor_id": [
                          "must be greater than 0"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Acessar o chat"
          }
        ]
      }
    },
    "/chats/archived": {
      "get": {
        "summary": "Listar chats arquivados",
        "tags": [
          "Chats"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "department_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do departamento",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do cliente",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "requestor_id",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats por ID do solicitante vinculado ao chat",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "number",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo número que entrou em contato.\nÉ necessário uma licença Whatsapp para utilizar esse parâmetro",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "origins",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pelo canal de origem. Pode ser informada mais de uma origem, separada por vírgula",
            "schema": {
              "type": "string",
              "enum": [
                "chat",
                "site_widget",
                "campaign",
                "whatsapp",
                "whatsapp_web",
                "gupshup",
                "whatsapp_cloud"
              ]
            },
            "examples": {
              "1": {
                "value": "gupshup",
                "summary": "Filtrar por chats de origem gupshup"
              },
              "2": {
                "value": "gupshup,site_widget",
                "summary": "Filtrar por chats de origem gupshup ou widget"
              }
            }
          },
          {
            "name": "started_by",
            "in": "query",
            "required": false,
            "description": "Filtrar os chats pela forma de como eles foram iniciados",
            "schema": {
              "type": "string",
              "enum": [
                "Client",
                "Attendant",
                "Campaign",
                "API"
              ]
            },
            "examples": {
              "0": {
                "value": "Client",
                "summary": "Chats iniciados pelo cliente"
              },
              "1": {
                "value": "Attendant",
                "summary": "Chats iniciados pelo atendente"
              },
              "2": {
                "value": "Campaign",
                "summary": "Chats iniciados através da funcionalidade de campanha"
              },
              "3": {
                "value": "API",
                "summary": "Chats iniciados através da API"
              }
            }
          },
          {
            "name": "canceled",
            "in": "query",
            "required": false,
            "description": "Filtrar por chats cancelados",
            "examples": {
              "0": {
                "value": "",
                "summary": "Quando não informado, retorna todos os chats"
              },
              "1": {
                "value": true,
                "summary": "Retorna apenas os chats cancelados"
              },
              "2": {
                "value": false,
                "summary": "Retorna apenas os chats não cancelados"
              }
            },
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "description": "Lista os chats que estão arquivados (finalizados ou cancelados) em sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_chats_archived",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 11,
                    "archived": true,
                    "assessment": 3,
                    "canceled": true,
                    "client": {
                      "id": 11,
                      "name": "Schaefer and Sons"
                    },
                    "created_at": "2026-04-28T21:17:51Z",
                    "department": {
                      "id": 13,
                      "name": "McCullough-Hermiston",
                      "selected_at": "2026-04-28T21:18:51Z"
                    },
                    "last_client_message": "2026-04-28T21:27:51Z",
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "15104699405",
                        "name": "Mr. Faustino Hessel"
                      }
                    },
                    "requestor": {
                      "id": 3260,
                      "email": "zemlak.angel@schultz.test",
                      "name": "Angel Zemlak"
                    },
                    "room": "15104699405",
                    "started_by": "API",
                    "updated_at": "2026-04-28T21:27:51Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 10,
                    "archived": true,
                    "assessment": 5,
                    "canceled": false,
                    "client": {
                      "id": 10,
                      "name": "Baumbach, Green and Jakubowski"
                    },
                    "created_at": "2026-04-28T21:17:51Z",
                    "department": {
                      "id": 13,
                      "name": "McCullough-Hermiston",
                      "selected_at": "2026-04-28T21:18:51Z"
                    },
                    "last_client_message": "2026-04-28T21:27:51Z",
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "14147750096",
                        "name": "Prof. Myron Homenick"
                      }
                    },
                    "requestor": {
                      "id": 3350,
                      "email": "lesley_hegmann@dach-littel.example",
                      "name": "Lesley Hegmann"
                    },
                    "room": "14147750096",
                    "started_by": "API",
                    "updated_at": "2026-04-28T21:27:51Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 9,
                    "archived": true,
                    "assessment": 5,
                    "canceled": false,
                    "client": {
                      "id": 9,
                      "name": "Pfannerstill LLC"
                    },
                    "created_at": "2026-04-28T21:17:51Z",
                    "department": {
                      "id": 13,
                      "name": "McCullough-Hermiston",
                      "selected_at": "2026-04-28T21:18:51Z"
                    },
                    "last_client_message": "2026-04-28T21:27:51Z",
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "12319789253",
                        "name": "Franklin Jerde"
                      }
                    },
                    "requestor": {
                      "id": 8851,
                      "email": "ward_ethan@steuber.example",
                      "name": "Ethan Ward"
                    },
                    "room": "12319789253",
                    "started_by": "API",
                    "updated_at": "2026-04-28T21:27:51Z",
                    "waiting_answer": false
                  },
                  {
                    "id": 1,
                    "archived": true,
                    "assessment": 4,
                    "canceled": false,
                    "client": {
                      "id": 3,
                      "name": "Donnelly LLC"
                    },
                    "created_at": "2026-04-28T21:17:49Z",
                    "department": {
                      "id": 14,
                      "name": "Bartell, Weimann and Emmerich",
                      "selected_at": "2026-04-28T21:18:49Z"
                    },
                    "last_client_message": "2026-04-28T21:27:49Z",
                    "online": false,
                    "origin": {
                      "integration_id": 1,
                      "_type": "gupshup",
                      "fields": {
                        "phone": "18125708951",
                        "name": "Warner Stehr JD"
                      }
                    },
                    "requestor": {
                      "id": 2451,
                      "email": "the.hien.hon.crona@weimann.test",
                      "name": "The Hon. Hien Crona"
                    },
                    "room": "18125708951",
                    "started_by": "API",
                    "updated_at": "2026-04-28T21:27:49Z",
                    "waiting_answer": false
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do chat"
                      },
                      "archived": {
                        "type": "boolean",
                        "description": "O chat está arquivado ou finalizado?"
                      },
                      "assessment": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Nota da avaliação do chat",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "client": {
                        "type": "object",
                        "nullable": true,
                        "title": "Cliente",
                        "description": "Objeto contendo informações sobre o cliente associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do cliente"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do cliente"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "created_at": {
                        "type": "string",
                        "description": "Data de criação do chat"
                      },
                      "department": {
                        "type": "object",
                        "nullable": true,
                        "title": "Departamento",
                        "description": "Objeto contendo informações sobre o departamento associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do departamento"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do departamento"
                          },
                          "selected_at": {
                            "type": "string",
                            "description": "Data que o departamento foi selecionado"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "selected_at"
                        ]
                      },
                      "last_client_message": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data e hora da última mensagem enviada pelo cliente no chat"
                      },
                      "online": {
                        "type": "boolean",
                        "description": "Específico para origem widget, indica se na conversa, quem abriu o chat ainda está online"
                      },
                      "origin": {
                        "type": "object",
                        "title": "Origem",
                        "description": "Objeto contendo informações sobre a origem do chat",
                        "properties": {
                          "integration_id": {
                            "type": "integer",
                            "description": "ID da integração que deu origem ao chat"
                          },
                          "_type": {
                            "type": "string",
                            "description": "Qual é a origem do chat",
                            "enum": [
                              "chat",
                              "site_widget",
                              "campaign",
                              "whatsapp",
                              "whatsapp_web",
                              "gupshup",
                              "whatsapp_cloud"
                            ]
                          },
                          "fields": {
                            "type": "object",
                            "nullable": true,
                            "additionalProperties": true,
                            "description": "Campo JSON com estrutura variada e dinâmica. As chaves e tipos de valor podem variar conforme a origem do chat",
                            "properties": {
                              "name": {
                                "type": "string",
                                "nullable": true,
                                "description": "Quando disponível, esse campo irá conter o nome do contato"
                              }
                            }
                          }
                        },
                        "required": [
                          "integration_id",
                          "_type",
                          "fields"
                        ]
                      },
                      "requestor": {
                        "type": "object",
                        "title": "Solicitante",
                        "description": "Objeto contendo informações sobre o solicitante associado ao chat",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "nullable": true,
                            "description": "ID do solicitante"
                          },
                          "email": {
                            "type": "string",
                            "nullable": true,
                            "description": "E-mail do solicitante"
                          },
                          "name": {
                            "type": "string",
                            "nullable": true,
                            "description": "Nome do solicitante ou nome do contato.\n* Quando o chat possui um solicitante vinculado, retorna o nome do solicitante\n* Quando o chat não possui solicitante vinculado, retorna o nome do contato"
                          }
                        },
                        "required": [
                          "id",
                          "email",
                          "name"
                        ]
                      },
                      "room": {
                        "type": "string",
                        "description": "Identificador da sessão do chat. Pode ser o número do chat, o identificador do WhatsApp ou um identificador único de sessão"
                      },
                      "started_by": {
                        "type": "string",
                        "description": "Indicador de quem iniciou o chat",
                        "enum": [
                          "Client",
                          "Attendant",
                          "Campaign",
                          "API"
                        ]
                      },
                      "updated_at": {
                        "type": "string",
                        "description": "Data da última modificação no chat"
                      },
                      "waiting_answer": {
                        "type": "boolean",
                        "description": "O chat está esperando resposta do atendente?"
                      },
                      "canceled": {
                        "type": "boolean",
                        "description": "O chat está cancelado?"
                      }
                    },
                    "required": [
                      "id",
                      "archived",
                      "assessment",
                      "client",
                      "created_at",
                      "department",
                      "last_client_message",
                      "online",
                      "origin",
                      "requestor",
                      "room",
                      "started_by",
                      "updated_at",
                      "waiting_answer",
                      "canceled"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Origem - opção inválida": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "origins": [
                          "'walkie-talkie' is not a valid origin"
                        ]
                      }
                    }
                  },
                  "Number - não aceita letras": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "number": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Requestor_id - números menores ou iguais a 0": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "requestor_id": [
                          "must be greater than 0"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Acessar o chat"
          }
        ]
      }
    },
    "/chats/send_message": {
      "post": {
        "summary": "Enviar mensagem via Whatsapp",
        "tags": [
          "Chats"
        ],
        "parameters": [

        ],
        "description": "Este método envia uma mensagem via integrações WhatsApp",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_chats_send_message",
        "responses": {
          "201": {
            "description": "### **Agendado o envio da mensagem**",
            "content": {
              "application/json": {
                "example": {
                  "status": "enqueued",
                  "job_id": "db2374b6089105138259ebe4"
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Indica que a solicitação foi enfileirada com sucesso"
                    },
                    "job_id": {
                      "type": "string",
                      "description": "Identificador do agendamento da solicitação. Em caso de problemas com o envio da mensagem, informe esse ID ao suporte"
                    }
                  },
                  "required": [
                    "status",
                    "job_id"
                  ]
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "examples": {
                  "Não preencheu valores obrigatórios": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "integration_id": [
                          "can't be blank"
                        ],
                        "number": [
                          "can't be blank"
                        ],
                        "template_id": [
                          "can't be blank :message or :template_id"
                        ]
                      }
                    }
                  },
                  "Informou um cliente que não existe": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "client_id": [
                          "Client not found or you have not access to"
                        ]
                      }
                    }
                  },
                  "Informou um ticket que não tem acesso": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "ticket_number": [
                          "Ticket not found or you have not access to"
                        ]
                      }
                    }
                  },
                  "Number precisa ser um valor numérico": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "number": [
                          "is not a number",
                          "is not a valid phone number"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de Whatsapp": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença Whatsapp** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'whatsapp' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Acessar o chat"
          },
          {
            "color": "orange",
            "label": "Licença Whatsapp"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "number": {
                    "type": "integer",
                    "description": "**Número de telefone**, para o qual a mensagem será enviada.\n\nPor padrão, o sistema vai tentar validar esse telefone como um número brasileiro. Se você deseja inserir um número de outro país, será necessário utilizar o atributo `country_code` junto no corpo da sua requisição",
                    "default": null
                  },
                  "country_code": {
                    "type": "string",
                    "example": "US",
                    "default": "BR",
                    "description": "Código de país no formato <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\" target=\"_blank\">ISO 3166-1 alpha-2</a>\n\nEste atributo será utilizado para validar se o número de telefone informado é um número válido em um outro país diferente do Brasil"
                  },
                  "message": {
                    "type": "string",
                    "description": "**Conteúdo da mensagem**. Utilize esse atributo apenas se você deseja enviar uma mensagem que não é um modelo HSM ou modelo de chat"
                  },
                  "integration_id": {
                    "type": "integer",
                    "description": "**Identificador de integração**\n\nO tipo de integrações permitidas nessa rota são: 'gupshup' e 'whatsapp_cloud'",
                    "default": null
                  },
                  "template_id": {
                    "type": "integer",
                    "description": "**Identificador de template** - modelo de chat, ou modelo de Início de chat (Gupshup).\n\nUtilize esse atributo se você deseja enviar um modelo HSM ou modelo de chat.\n\n**Extra**: Se você está utilizando um HSM e deseja enviar parâmetros personalizados no valor das variáveis, utilize o atributo *parameters* em conjunto a este",
                    "default": null
                  },
                  "name": {
                    "type": "string",
                    "description": "**Nome do solicitante**"
                  },
                  "department_id": {
                    "type": "integer",
                    "description": "**Identificador de departamento**, se você deseja vincular o chat criado a um departamento"
                  },
                  "ticket_number": {
                    "type": "integer",
                    "description": "**Número do ticket**, se você deseja vincular o chat criado a um ticket"
                  },
                  "client_id": {
                    "type": "integer",
                    "description": "**Identificador de cliente**, se você deseja vincular o chat criado a um cliente"
                  },
                  "parameters": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Lista de strings, com os **valores personalizados das variáveis** do modelo HSM (*template_id*) que será enviado"
                  },
                  "header_parameters": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Utilizado apenas em integrações **whatsapp_cloud**. Lista de strings, com os **valores personalizados das variáveis que vão no cabeçalho** do modelo HSM (*template_id*) que será enviado"
                  },
                  "archive": {
                    "type": "boolean",
                    "description": "Arquivar chat após o envio?\n\nAo enviar esse atributo como **true**, o chat será criado e enviado direto para a caixa de encerrados",
                    "default": false
                  }
                },
                "required": [
                  "number",
                  "integration_id"
                ]
              },
              "examples": {
                "Enviar uma mensagem": {
                  "summary": "Enviar uma mensagem",
                  "value": {
                    "number": 5521913875747,
                    "message": "Olá, tudo bem?",
                    "integration_id": 1
                  }
                },
                "Enviar modelo de mensagem": {
                  "summary": "Enviar modelo de mensagem",
                  "value": {
                    "number": 5533985595834,
                    "integration_id": 1,
                    "template_id": 1
                  }
                },
                "Enviar modelo de mensagem HSM com parâmetros personalizados": {
                  "summary": "Enviar modelo de mensagem HSM com parâmetros personalizados",
                  "value": {
                    "number": 5571991999839,
                    "integration_id": 1,
                    "template_id": 1,
                    "parameters": [
                      "Valor 1",
                      "Valor 2"
                    ]
                  }
                },
                "Enviar modelo de mensagem HSM com parâmetros de cabeçalho personalizados": {
                  "summary": "Enviar modelo de mensagem HSM com parâmetros de cabeçalho personalizados",
                  "value": {
                    "number": 5562959027724,
                    "integration_id": 1,
                    "template_id": 1,
                    "header_parameters": [
                      "Valor Header 1",
                      "Valor Header 2"
                    ]
                  }
                },
                "Enviar HSM com todos os atributos possíveis": {
                  "summary": "Enviar HSM com todos os atributos possíveis",
                  "value": {
                    "number": 12707400704,
                    "country_code": "US",
                    "integration_id": 1,
                    "template_id": 1,
                    "parameters": [
                      "Valor 1",
                      "Valor 2"
                    ],
                    "header_parameters": [
                      "Valor Header 1",
                      "Valor Header 2"
                    ],
                    "name": "Augusto Santos",
                    "client_id": 2,
                    "ticket_number": 1,
                    "department_id": 13,
                    "archive": true
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Confira abaixo exemplos de uso"
        }
      }
    },
    "/chats/{id}/archive": {
      "put": {
        "summary": "Finalizar chat",
        "tags": [
          "Chats"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID do chat que será encerrado",
            "example": 75,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Finaliza e arquiva um determinado chat em sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_chats_id_archive",
        "responses": {
          "202": {
            "description": "### **A solicitação para finalizar o chat foi aceita e será processada em segundo plano**",
            "content": {
              "application/json": {
                "example": {
                  "status": "enqueued",
                  "job_id": "28765abc6728a30b0b354b8f"
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "description": "Indica que a solicitação foi enfileirada com sucesso"
                    },
                    "job_id": {
                      "type": "string",
                      "description": "Identificador do agendamento da solicitação. Em caso de problemas com a finalização do chat, informe esse ID ao suporte"
                    }
                  },
                  "required": [
                    "status",
                    "job_id"
                  ]
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "services_catalogs_item_id": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Chat não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Chat with 'id'=\"99999999\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Acessar o chat"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "services_catalogs_item_id": {
                    "type": "integer",
                    "example": 1,
                    "default": null,
                    "nullable": true,
                    "description": "**Identificador do item de catálogo de serviços**, para quando a configuração do chat está definida para \"*Usar catálogo de serviços no chat*\"."
                  }
                }
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "services_catalogs_item_id": 1
                  }
                }
              }
            }
          },
          "description": "Se a configuração de chat da sua organização estiver definida como \"*Usar catálogo de serviços no chat*\", é obrigatório incluir o ID de um item do catálogo de serviços no corpo dessa requisição, para que o chat possa ser encerrado."
        }
      }
    },
    "/clients/{id}/logo": {
      "post": {
        "summary": "Adicionar logo de cliente",
        "tags": [
          "Clientes - Arquivos"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Adiciona ou altera a imagem de logo existente em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_clients_id_logo",
        "responses": {
          "200": {
            "description": "### **Logo adicionada com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "logo": "[AMBIENTE DE TESTES] - Link de acesso a logo bloqueado"
                }
              }
            }
          },
          "400": {
            "description": "### **Arquivo não foi informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40003,
                  "message": "Missing required parameters. The request's body is invalid",
                  "detail": {
                    "error": [
                      "param is missing or the value is empty: file"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com o arquivo fornecido**",
            "content": {
              "application/json": {
                "examples": {
                  "Não foi informado um arquivo": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "file": [
                          "You are not sending a File. The value of 'file' needs to be a File type and you must send only one file"
                        ]
                      }
                    }
                  },
                  "Arquivo enviado não é uma imagem": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "logo_content_type": [
                          "Logo content_type must be a image type"
                        ]
                      }
                    }
                  },
                  "Imagem enviada é maior que 2mb": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "logo_file_size": [
                          "must be in between 0 Bytes and 2 MB"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "Logo do cliente.\n\n  Esse parâmetro deve respeitar os seguintes critérios para ser adicionado corretamente:\n  - O tipo do conteúdo deve ser uma imagem\n  - Deve possuir no máximo 2 megabytes"
                  }
                }
              }
            }
          },
          "description": "O body dessa requisição é do tipo multipart/form-data e aceita o seguinte atributo:"
        }
      },
      "delete": {
        "summary": "Excluir logo de cliente",
        "tags": [
          "Clientes - Arquivos"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Remove a imagem de logo existente em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_clients_id_logo",
        "responses": {
          "204": {
            "description": "### **Logo removida com sucesso**\n> Essa resposta não contem body"
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ]
      }
    },
    "/clients/{client_id}/files": {
      "post": {
        "summary": "Adicionar arquivo de cliente",
        "tags": [
          "Clientes - Arquivos"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Adiciona um arquivo nos anexos de clientes em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_clients_client_id_files",
        "responses": {
          "201": {
            "description": "### **Arquivo adicionado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "content_type": "text/plain",
                  "file_name": "client_upload.txt",
                  "size": 37,
                  "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                }
              }
            }
          },
          "400": {
            "description": "### **Arquivo não foi informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40003,
                  "message": "Missing required parameters. The request's body is invalid",
                  "detail": {
                    "error": [
                      "param is missing or the value is empty: file"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com o arquivo fornecido**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "file": [
                      "You are not sending a File. The value of 'file' needs to be a File type and you must send only one file"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "Logo do cliente.\n\n  Esse parâmetro deve respeitar os seguintes critérios para ser adicionado corretamente:\n  - Deve ser um único arquivo\n  - Deve possuir no máximo 10 megabytes"
                  }
                }
              }
            }
          },
          "description": "O body dessa requisição é do tipo multipart/form-data e aceita o seguinte atributo:"
        }
      },
      "get": {
        "summary": "Listar arquivos de cliente",
        "tags": [
          "Clientes - Arquivos"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os arquivos anexados em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_client_id_files",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 2,
                    "content_type": "text/plain",
                    "file_name": "client_upload.txt",
                    "size": 37,
                    "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                  }
                ]
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "limit": [
                      "must be greater than 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      }
    },
    "/clients/{client_id}/files/{id}": {
      "get": {
        "summary": "Exibir arquivo de cliente",
        "tags": [
          "Clientes - Arquivos"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do arquivo",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe um arquivo anexado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_client_id_files_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 3,
                  "content_type": "text/plain",
                  "file_name": "client_upload.txt",
                  "size": 37,
                  "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      },
      "delete": {
        "summary": "Excluir arquivo de cliente",
        "tags": [
          "Clientes - Arquivos"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do arquivo",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Remove um arquivo anexado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_clients_client_id_files_id",
        "responses": {
          "204": {
            "description": "### **Arquivo removido com sucesso**\n> Essa resposta não contem body"
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ]
      }
    },
    "/clients": {
      "get": {
        "summary": "Listar clientes",
        "tags": [
          "Clientes"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "active",
            "in": "query",
            "description": "Com esse parâmetro é possível filtrar os clientes ativos e inativos",
            "examples": {
              "Ativos": {
                "value": true
              },
              "Inativos": {
                "value": false
              }
            },
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Com esse parâmetro é possível filtrar os clientes pelo nome ou razão social",
            "example": "Nome do cliente",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "social_revenue",
            "in": "query",
            "description": "Com esse parâmetro é possível filtrar os clientes pelo CPF / CNPJ (com ou sem os caracteres especiais)",
            "required": false,
            "examples": {
              "Sem caracteres especiais": {
                "value": "00011122255",
                "summary": "CPF sem caracteres especiais"
              },
              "Com caracteres especiais": {
                "value": "00.111.222/3333-44",
                "summary": "CNPJ com caracteres especiais"
              },
              "Alfanumérico com caracteres especiais": {
                "value": "AB.CDE.FGH/1234-56",
                "summary": "CNPJ alfanumérico com caracteres especiais"
              }
            },
            "schema": {
              "type": "string"
            }
          }
        ],
        "description": "Lista os clientes que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre: Lista os clientes que o usuário tem acesso"
          }
        ],
        "operationId": "get_clients",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "name": "Christiansen Inc",
                    "social": "Kohler, Grant and Goodwin",
                    "social_revenue": "40176919000821",
                    "status": true
                  },
                  {
                    "id": 2,
                    "name": "Powlowski and Sons",
                    "social": "Willms Inc",
                    "social_revenue": "10594825000801",
                    "status": true
                  },
                  {
                    "id": 3,
                    "name": "Donnelly LLC",
                    "social": "Gulgowski-Rippin",
                    "social_revenue": "42264955000368",
                    "status": true
                  },
                  {
                    "id": 4,
                    "name": "Daugherty, Yundt and Casper",
                    "social": "Kris-Goodwin",
                    "social_revenue": "16594383000456",
                    "status": true
                  },
                  {
                    "id": 5,
                    "name": "Adams, Ritchie and Stokes",
                    "social": "Mraz LLC",
                    "social_revenue": "07278380000170",
                    "status": true
                  },
                  {
                    "id": 6,
                    "name": "Stehr Inc",
                    "social": "Kessler LLC",
                    "social_revenue": "66486868000747",
                    "status": true
                  },
                  {
                    "id": 7,
                    "name": "Brakus-Ullrich",
                    "social": "Fisher-Sawayn",
                    "social_revenue": "21638839000804",
                    "status": true
                  },
                  {
                    "id": 8,
                    "name": "Oberbrunner Inc",
                    "social": "Hoppe, Schultz and Swaniawski",
                    "social_revenue": "27196192000703",
                    "status": true
                  },
                  {
                    "id": 9,
                    "name": "Pfannerstill LLC",
                    "social": "Effertz Inc",
                    "social_revenue": "35748849000718",
                    "status": true
                  },
                  {
                    "id": 10,
                    "name": "Baumbach, Green and Jakubowski",
                    "social": "Kihn, Fay and Lang",
                    "social_revenue": "00839441000262",
                    "status": true
                  },
                  {
                    "id": 11,
                    "name": "Schaefer and Sons",
                    "social": "Kuhn and Sons",
                    "social_revenue": "69367972000115",
                    "status": true
                  },
                  {
                    "id": 12,
                    "name": "Hayes-White",
                    "social": "Hills Inc",
                    "social_revenue": "28397706000743",
                    "status": true
                  },
                  {
                    "id": 13,
                    "name": "Predovic, Braun and Hahn",
                    "social": "Keebler LLC",
                    "social_revenue": "62142839000383",
                    "status": true
                  },
                  {
                    "id": 14,
                    "name": "Kihn-Jacobi",
                    "social": "Kemmer, Hegmann and McKenzie",
                    "social_revenue": "87946652000606",
                    "status": true
                  },
                  {
                    "id": 15,
                    "name": "Gutmann Group",
                    "social": "Welch-Greenfelder",
                    "social_revenue": "38018876000138",
                    "status": true
                  },
                  {
                    "id": 16,
                    "name": "Bernhard Group",
                    "social": "Hamill and Sons",
                    "social_revenue": "43116429000828",
                    "status": true
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "Listar clientes",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID do cliente"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do cliente"
                      },
                      "social": {
                        "type": "string",
                        "description": "Razão social"
                      },
                      "social_revenue": {
                        "type": "string",
                        "description": "CPF/CNPJ"
                      },
                      "status": {
                        "type": "boolean",
                        "description": "O cliente está ativo?"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "social",
                      "status"
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Criar cliente",
        "tags": [
          "Clientes"
        ],
        "description": "Cria um novo cliente na sua organização.\n- Para vincular todas as mesas em um cliente durante a sua criação, você pode informar o atributo `add_all_desks` como true no body dessa requisição.\n- Para vincular todos os grupos técnicos em um cliente durante a sua criação, você pode informar o atributo `add_all_technical_groups` como true no body dessa requisição.\n",
        "parameters": [

        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_clients",
        "responses": {
          "201": {
            "description": "### **Cliente criado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 17,
                  "address_ids": [

                  ],
                  "anotations": "Aut omnis fugit. Ipsam fugiat incidunt.",
                  "authorization_flow": true,
                  "billing_report_type": "detailed",
                  "contact_ids": [

                  ],
                  "desk_ids": [
                    1
                  ],
                  "email_financial": "marianne@bahringer.test",
                  "equipment_counter": 0,
                  "estadual_registration": "321",
                  "form_of_payment": "BOLETO",
                  "group_counter": 1,
                  "logo": "[AMBIENTE DE TESTES] - Link de acesso a logo bloqueado",
                  "max_agents": 1,
                  "municipal_registration": "123",
                  "name": "Nome do cliente",
                  "quarterly_bill_client_id": 16,
                  "quarterly_billing": true,
                  "sms_financial": "47984253028",
                  "social": "Razão social",
                  "social_revenue": "12312312345",
                  "status": true,
                  "technical_group_ids": [
                    1
                  ],
                  "user_counter": 0,
                  "user_ids": [

                  ],
                  "work_folder": "https://app.tiflux.com/v/"
                },
                "schema": {
                  "type": "object",
                  "title": "Exibir informações do cliente",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID do cliente"
                    },
                    "address_ids": {
                      "type": "array",
                      "description": "ID dos endereços cadastrados no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "anotations": {
                      "type": "string",
                      "description": "Campo de anotações do cadastro do cliente",
                      "nullable": true
                    },
                    "authorization_flow": {
                      "type": "boolean",
                      "description": "Se o fluxo de autorização para novos tickets está ativo ou não no cliente"
                    },
                    "billing_report_type": {
                      "type": "string",
                      "description": "Relatório de fechamento do faturamento, pode ser 3 valores",
                      "enum": [
                        "detailed_with_appointment",
                        "detailed",
                        "synthetic",
                        ""
                      ]
                    },
                    "contact_ids": {
                      "type": "array",
                      "description": "ID dos contatos cadastrados no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "desk_ids": {
                      "type": "array",
                      "description": "ID das mesas vinculadas no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "email_financial": {
                      "type": "string",
                      "description": "E-mail principal de envio de faturamento"
                    },
                    "equipment_counter": {
                      "type": "integer",
                      "description": "Contagem de quantos equipamentos tem cadastrados no cliente"
                    },
                    "estadual_registration": {
                      "type": "string",
                      "description": "Inscrição estadual",
                      "nullable": true
                    },
                    "form_of_payment": {
                      "type": "string",
                      "description": "Tipo de pagamento definido para integrações de faturamento",
                      "enum": [
                        "BOLETO",
                        "CREDIT_CARD",
                        "UNDEFINED",
                        "PIX"
                      ]
                    },
                    "group_counter": {
                      "type": "integer",
                      "description": "Contagem de quantos grupos de recursos tem cadastrados no cliente"
                    },
                    "logo": {
                      "type": "string",
                      "description": "URL de acesso para a imagem definida de logo do cliente",
                      "nullable": true
                    },
                    "max_agents": {
                      "type": "integer",
                      "description": "Máximo de agentes definidos no cliente"
                    },
                    "municipal_registration": {
                      "type": "string",
                      "description": "Inscrição municipal",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do cliente"
                    },
                    "quarterly_bill_client_id": {
                      "type": "integer",
                      "description": "Faturar em nome do cliente com esse ID",
                      "nullable": true
                    },
                    "quarterly_billing": {
                      "type": "boolean",
                      "description": "Faturamento quarteirizado ativo?"
                    },
                    "sms_financial": {
                      "type": "string",
                      "description": "Envio de SMS para integrações de faturamento",
                      "nullable": true
                    },
                    "social": {
                      "type": "string",
                      "description": "Razão social"
                    },
                    "social_revenue": {
                      "type": "string",
                      "description": "CPF/CNPJ",
                      "nullable": true
                    },
                    "status": {
                      "type": "boolean",
                      "description": "Cliente ativo?"
                    },
                    "technical_group_ids": {
                      "type": "array",
                      "description": "ID dos grupos técnicos vinculados no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "user_counter": {
                      "type": "integer",
                      "description": "Contagem de quantos usuários clientes tem cadastrados/vinculados no cliente"
                    },
                    "user_ids": {
                      "type": "array",
                      "description": "ID dos usuários clientes vinculados no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "work_folder": {
                      "type": "string",
                      "description": "Pasta de trabalho",
                      "nullable": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "social_revenue": [
                      "Invalid Document inserted. Please use a CPF or CNPJ."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "title": "Criar um cliente",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Nome do cliente"
                  },
                  "social": {
                    "type": "string",
                    "description": "Razão social"
                  },
                  "social_revenue": {
                    "type": "string",
                    "description": "CPF/CNPJ"
                  },
                  "desk_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "IDs das mesas que serão relacionadas nesse cliente"
                  },
                  "add_all_desks": {
                    "type": "boolean",
                    "description": "Vincular todas as mesas no cliente durante a sua criação",
                    "default": false
                  },
                  "technical_group_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "IDs dos grupos técnicos que serão relacionados nesse cliente"
                  },
                  "add_all_technical_groups": {
                    "type": "boolean",
                    "description": "Vincular todas os grupos técnicos no cliente durante a sua criação",
                    "default": false
                  },
                  "status": {
                    "type": "boolean",
                    "description": "Cliente ativo?"
                  },
                  "max_agents": {
                    "type": "integer",
                    "description": "Configuração de número máximo de agentes"
                  },
                  "email_financial": {
                    "type": "string",
                    "description": "E-mail principal de envio de faturamento"
                  },
                  "sms_financial": {
                    "type": "string",
                    "description": "Número de telefone. Para envio de SMS para integrações de faturamento"
                  },
                  "municipal_registration": {
                    "type": "string",
                    "description": "Inscrição municipal"
                  },
                  "estadual_registration": {
                    "type": "string",
                    "description": "Inscrição estadual"
                  },
                  "anotations": {
                    "type": "string",
                    "description": "Campo de anotações do cadastro do cliente"
                  },
                  "visible_to_clients": {
                    "type": "boolean",
                    "description": "Visível para clientes"
                  },
                  "work_folder": {
                    "type": "string",
                    "description": "Pasta de trabalho"
                  },
                  "quarterly_billing": {
                    "type": "boolean",
                    "description": "Faturamento quarteirizado?"
                  },
                  "quarterly_bill_client_id": {
                    "type": "integer",
                    "description": "Faturar em nome do cliente com esse ID"
                  },
                  "billing_report_type": {
                    "type": "string",
                    "description": "Relatório de fechamento do faturamento, pode ser 3 valores",
                    "enum": [
                      "detailed_with_appointment",
                      "detailed",
                      "synthetic",
                      ""
                    ]
                  },
                  "authorization_flow": {
                    "type": "boolean",
                    "description": "Se o fluxo de autorização para novos tickets está ativo ou não no cliente"
                  }
                },
                "required": [
                  "name",
                  "social"
                ]
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "name": "Nome do cliente",
                    "social": "Razão social",
                    "social_revenue": "123.123.123.45",
                    "desk_ids": [
                      1
                    ],
                    "technical_group_ids": [
                      1
                    ],
                    "status": true,
                    "max_agents": 1,
                    "email_financial": "marianne@bahringer.test",
                    "sms_financial": "47984253028",
                    "municipal_registration": "123",
                    "estadual_registration": "321",
                    "anotations": "Aut omnis fugit. Ipsam fugiat incidunt.",
                    "visible_to_clients": true,
                    "work_folder": "https://app.tiflux.com/v/",
                    "quarterly_billing": true,
                    "quarterly_bill_client_id": 16,
                    "billing_report_type": "detailed",
                    "authorization_flow": true
                  }
                }
              }
            }
          }
        }
      }
    },
    "/clients/{id}": {
      "get": {
        "summary": "Exibir cliente",
        "tags": [
          "Clientes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "show_entities",
            "in": "query",
            "description": "Exibir informações de campos personalizados no cliente?",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false
          }
        ],
        "description": "Exibe informações detalhadas sobre um determinado cliente.\n\nAo informar o parâmetro `show_entities`, será adicionado um atributo de nome `entities` na resposta dessa requisição. Contendo a lista de entidades vinculadas nesse cliente (onde apenas entidades preenchidas serão exibidas).\n\n> Se você deseja visualizar mais informações dos *contatos*, *endereços*, *grupos técnicos* ou *mesas* vinculados nesse cliente (além de seus respectivos IDs), você pode utilizar as seguintes rotas de Relacionamentos:\n> * [Listar contatos](#get-/clients/-client_id-/contacts)\n> * [Listar endereços](#get-/clients/-client_id-/addresses)\n> * [Listar mesas](#get-/clients/-id-/desks)\n> * [Listar grupos técnicos](#get-/clients/-id-/technical-groups)",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "Exibir informações do cliente": {
                    "value": {
                      "id": 16,
                      "address_ids": [
                        32,
                        33
                      ],
                      "anotations": "Et deleniti saepe. Aut sit in.",
                      "authorization_flow": false,
                      "billing_report_type": "detailed_with_appointment",
                      "contact_ids": [
                        31,
                        32
                      ],
                      "desk_ids": [

                      ],
                      "email_financial": "josefina@cassin.example",
                      "equipment_counter": 0,
                      "estadual_registration": null,
                      "form_of_payment": "BOLETO",
                      "group_counter": 1,
                      "logo": "[AMBIENTE DE TESTES] - Link de acesso a logo bloqueado",
                      "max_agents": 0,
                      "municipal_registration": null,
                      "name": "Bernhard Group",
                      "quarterly_bill_client_id": null,
                      "quarterly_billing": false,
                      "sms_financial": "47984253028",
                      "social": "Hamill and Sons",
                      "social_revenue": "43116429000828",
                      "status": true,
                      "technical_group_ids": [

                      ],
                      "user_counter": 0,
                      "user_ids": [

                      ],
                      "work_folder": null
                    }
                  },
                  "Exibir informações de entidade do cliente (show_entities=true)": {
                    "value": {
                      "client": {
                        "id": 16,
                        "name": "Bernhard Group",
                        "social": "Hamill and Sons",
                        "social_revenue": "43116429000828"
                      },
                      "entities": [
                        {
                          "id": 1,
                          "active": true,
                          "applied_in": "client",
                          "description": "Campo personalizado de menu",
                          "entity_fields": [
                            {
                              "id": null,
                              "entity_field_id": 1,
                              "entity_id": 1,
                              "field_type": "text",
                              "name": "Campo de texto no cliente",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 2,
                              "entity_id": 1,
                              "field_type": "text_area",
                              "name": "Campo de área de texto no cliente",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 3,
                              "entity_id": 1,
                              "field_type": "email",
                              "name": "Campo de email no cliente",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 4,
                              "entity_id": 1,
                              "field_type": "currency",
                              "name": "Campo de moeda no cliente",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 5,
                              "entity_id": 1,
                              "field_type": "phone",
                              "name": "Campo de telefone no cliente",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 6,
                              "entity_id": 1,
                              "field_type": "date",
                              "name": "Campo de data no cliente",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 7,
                              "entity_id": 1,
                              "field_type": "link",
                              "name": "Campo de link no cliente",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 8,
                              "entity_id": 1,
                              "field_type": "single_select",
                              "name": "Campo de Seleção única no cliente",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 9,
                              "entity_id": 1,
                              "field_type": "checkbox",
                              "name": "Campo de Checkbox",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            }
                          ],
                          "menu_item": true,
                          "name": "Teste"
                        }
                      ]
                    }
                  }
                },
                "schema": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "Exibir informações do cliente",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do cliente"
                        },
                        "address_ids": {
                          "type": "array",
                          "description": "ID dos endereços cadastrados no cliente",
                          "items": {
                            "type": "integer"
                          }
                        },
                        "anotations": {
                          "type": "string",
                          "description": "Campo de anotações do cadastro do cliente",
                          "nullable": true
                        },
                        "authorization_flow": {
                          "type": "boolean",
                          "description": "Se o fluxo de autorização para novos tickets está ativo ou não no cliente"
                        },
                        "billing_report_type": {
                          "type": "string",
                          "description": "Relatório de fechamento do faturamento, pode ser 3 valores",
                          "enum": [
                            "detailed_with_appointment",
                            "detailed",
                            "synthetic",
                            ""
                          ]
                        },
                        "contact_ids": {
                          "type": "array",
                          "description": "ID dos contatos cadastrados no cliente",
                          "items": {
                            "type": "integer"
                          }
                        },
                        "desk_ids": {
                          "type": "array",
                          "description": "ID das mesas vinculadas no cliente",
                          "items": {
                            "type": "integer"
                          }
                        },
                        "email_financial": {
                          "type": "string",
                          "description": "E-mail principal de envio de faturamento"
                        },
                        "equipment_counter": {
                          "type": "integer",
                          "description": "Contagem de quantos equipamentos tem cadastrados no cliente"
                        },
                        "estadual_registration": {
                          "type": "string",
                          "description": "Inscrição estadual",
                          "nullable": true
                        },
                        "form_of_payment": {
                          "type": "string",
                          "description": "Tipo de pagamento definido para integrações de faturamento",
                          "enum": [
                            "BOLETO",
                            "CREDIT_CARD",
                            "UNDEFINED",
                            "PIX"
                          ]
                        },
                        "group_counter": {
                          "type": "integer",
                          "description": "Contagem de quantos grupos de recursos tem cadastrados no cliente"
                        },
                        "logo": {
                          "type": "string",
                          "description": "URL de acesso para a imagem definida de logo do cliente",
                          "nullable": true
                        },
                        "max_agents": {
                          "type": "integer",
                          "description": "Máximo de agentes definidos no cliente"
                        },
                        "municipal_registration": {
                          "type": "string",
                          "description": "Inscrição municipal",
                          "nullable": true
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do cliente"
                        },
                        "quarterly_bill_client_id": {
                          "type": "integer",
                          "description": "Faturar em nome do cliente com esse ID",
                          "nullable": true
                        },
                        "quarterly_billing": {
                          "type": "boolean",
                          "description": "Faturamento quarteirizado ativo?"
                        },
                        "sms_financial": {
                          "type": "string",
                          "description": "Envio de SMS para integrações de faturamento",
                          "nullable": true
                        },
                        "social": {
                          "type": "string",
                          "description": "Razão social"
                        },
                        "social_revenue": {
                          "type": "string",
                          "description": "CPF/CNPJ",
                          "nullable": true
                        },
                        "status": {
                          "type": "boolean",
                          "description": "Cliente ativo?"
                        },
                        "technical_group_ids": {
                          "type": "array",
                          "description": "ID dos grupos técnicos vinculados no cliente",
                          "items": {
                            "type": "integer"
                          }
                        },
                        "user_counter": {
                          "type": "integer",
                          "description": "Contagem de quantos usuários clientes tem cadastrados/vinculados no cliente"
                        },
                        "user_ids": {
                          "type": "array",
                          "description": "ID dos usuários clientes vinculados no cliente",
                          "items": {
                            "type": "integer"
                          }
                        },
                        "work_folder": {
                          "type": "string",
                          "description": "Pasta de trabalho",
                          "nullable": true
                        }
                      }
                    },
                    {
                      "type": "object",
                      "title": "Exibir informações de entidade do cliente (show_entities=true)",
                      "properties": {
                        "client": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "ID do cliente"
                            },
                            "name": {
                              "type": "string",
                              "description": "Nome do cliente"
                            },
                            "social": {
                              "type": "string",
                              "description": "Razão social"
                            },
                            "social_revenue": {
                              "type": "string",
                              "description": "CPF/CNPJ",
                              "nullable": true
                            }
                          }
                        },
                        "entities": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "ID do campo personalizado"
                              },
                              "active": {
                                "type": "boolean",
                                "description": "O campo personalizado está ativo?"
                              },
                              "applied_in": {
                                "type": "string",
                                "description": "Onde o campo personalizado está aplicado/configurado"
                              },
                              "description": {
                                "type": "string",
                                "description": "Descrição do campo personalizado",
                                "nullable": true
                              },
                              "menu_item": {
                                "type": "boolean",
                                "description": "É um item de menu?",
                                "nullable": true
                              },
                              "name": {
                                "type": "string",
                                "description": "Nome do campo personalizado"
                              },
                              "entity_fields": {
                                "type": "array",
                                "description": "**Lista de campos, dos campos personalizados vinculados nesse cliente**",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "integer",
                                      "description": "Identificador do valor preenchido",
                                      "nullable": true
                                    },
                                    "field_type": {
                                      "type": "string",
                                      "enum": [
                                        "email",
                                        "date",
                                        "currency",
                                        "phone",
                                        "checkbox",
                                        "text",
                                        "text_area",
                                        "single_select",
                                        "link"
                                      ],
                                      "description": "Tipos de campo: \"**email**\", \"**date**\", \"**currency**\", \"**phone**\", \"**checkbox**\", \"**text**\", \"**text_area**\", \"**single_select**\", \"**link**\""
                                    },
                                    "name": {
                                      "type": "string",
                                      "description": "Nome do campo"
                                    },
                                    "required": {
                                      "type": "boolean",
                                      "description": "Informa se o campo é de preenchimento obrigatório"
                                    },
                                    "entity_field_id": {
                                      "type": "integer",
                                      "description": "Identificador do campo"
                                    },
                                    "entity_id": {
                                      "type": "integer",
                                      "description": "Identificador do campo personalizado"
                                    },
                                    "value": {
                                      "type": "string",
                                      "description": "Valor preenchido",
                                      "nullable": true
                                    },
                                    "options": {
                                      "description": "**Lista com valores das opções preenchidas no campo** (utilizado em campos do tipo checkbox e single_select)",
                                      "default": [

                                      ],
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "id": {
                                            "type": "integer",
                                            "description": "Identificador do valor preenchido"
                                          },
                                          "entity_field_id": {
                                            "type": "integer",
                                            "description": "Identificador do campo"
                                          },
                                          "entity_field_option_id": {
                                            "type": "integer",
                                            "description": "Identificador da opção"
                                          },
                                          "title": {
                                            "type": "string",
                                            "description": "Nome da opção"
                                          },
                                          "value": {
                                            "type": "string",
                                            "description": "Valor da opção"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      },
      "put": {
        "summary": "Atualizar cliente",
        "tags": [
          "Clientes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Atualiza um cliente.\n\n- Para vincular todas as mesas de serviço em um cliente, você pode informar o atributo `add_all_desks` como true no body dessa requisição.\n- Para vincular todos os grupos técnicos em um cliente, você pode informar o atributo `add_all_technical_groups` como true no body dessa requisição.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_clients_id",
        "responses": {
          "200": {
            "description": "### **Cliente atualizado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 15,
                  "address_ids": [
                    30,
                    31
                  ],
                  "anotations": "Sit excepturi nulla. Sint fugiat alias.",
                  "authorization_flow": true,
                  "billing_report_type": "detailed",
                  "contact_ids": [
                    29,
                    30
                  ],
                  "desk_ids": [
                    1
                  ],
                  "email_financial": "alphonso_wintheiser@graham.test",
                  "equipment_counter": 0,
                  "estadual_registration": "321",
                  "form_of_payment": "BOLETO",
                  "group_counter": 1,
                  "logo": "[AMBIENTE DE TESTES] - Link de acesso a logo bloqueado",
                  "max_agents": 1,
                  "municipal_registration": "123",
                  "name": "Teste",
                  "quarterly_bill_client_id": 16,
                  "quarterly_billing": true,
                  "sms_financial": "47984253028",
                  "social": "Hettinger-Schowalter",
                  "social_revenue": "46802965000360",
                  "status": true,
                  "technical_group_ids": [
                    1
                  ],
                  "user_counter": 0,
                  "user_ids": [

                  ],
                  "work_folder": "https://app.tiflux.com/v/"
                },
                "schema": {
                  "type": "object",
                  "title": "Exibir informações do cliente",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID do cliente"
                    },
                    "address_ids": {
                      "type": "array",
                      "description": "ID dos endereços cadastrados no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "anotations": {
                      "type": "string",
                      "description": "Campo de anotações do cadastro do cliente",
                      "nullable": true
                    },
                    "authorization_flow": {
                      "type": "boolean",
                      "description": "Se o fluxo de autorização para novos tickets está ativo ou não no cliente"
                    },
                    "billing_report_type": {
                      "type": "string",
                      "description": "Relatório de fechamento do faturamento, pode ser 3 valores",
                      "enum": [
                        "detailed_with_appointment",
                        "detailed",
                        "synthetic",
                        ""
                      ]
                    },
                    "contact_ids": {
                      "type": "array",
                      "description": "ID dos contatos cadastrados no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "desk_ids": {
                      "type": "array",
                      "description": "ID das mesas vinculadas no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "email_financial": {
                      "type": "string",
                      "description": "E-mail principal de envio de faturamento"
                    },
                    "equipment_counter": {
                      "type": "integer",
                      "description": "Contagem de quantos equipamentos tem cadastrados no cliente"
                    },
                    "estadual_registration": {
                      "type": "string",
                      "description": "Inscrição estadual",
                      "nullable": true
                    },
                    "form_of_payment": {
                      "type": "string",
                      "description": "Tipo de pagamento definido para integrações de faturamento",
                      "enum": [
                        "BOLETO",
                        "CREDIT_CARD",
                        "UNDEFINED",
                        "PIX"
                      ]
                    },
                    "group_counter": {
                      "type": "integer",
                      "description": "Contagem de quantos grupos de recursos tem cadastrados no cliente"
                    },
                    "logo": {
                      "type": "string",
                      "description": "URL de acesso para a imagem definida de logo do cliente",
                      "nullable": true
                    },
                    "max_agents": {
                      "type": "integer",
                      "description": "Máximo de agentes definidos no cliente"
                    },
                    "municipal_registration": {
                      "type": "string",
                      "description": "Inscrição municipal",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do cliente"
                    },
                    "quarterly_bill_client_id": {
                      "type": "integer",
                      "description": "Faturar em nome do cliente com esse ID",
                      "nullable": true
                    },
                    "quarterly_billing": {
                      "type": "boolean",
                      "description": "Faturamento quarteirizado ativo?"
                    },
                    "sms_financial": {
                      "type": "string",
                      "description": "Envio de SMS para integrações de faturamento",
                      "nullable": true
                    },
                    "social": {
                      "type": "string",
                      "description": "Razão social"
                    },
                    "social_revenue": {
                      "type": "string",
                      "description": "CPF/CNPJ",
                      "nullable": true
                    },
                    "status": {
                      "type": "boolean",
                      "description": "Cliente ativo?"
                    },
                    "technical_group_ids": {
                      "type": "array",
                      "description": "ID dos grupos técnicos vinculados no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "user_counter": {
                      "type": "integer",
                      "description": "Contagem de quantos usuários clientes tem cadastrados/vinculados no cliente"
                    },
                    "user_ids": {
                      "type": "array",
                      "description": "ID dos usuários clientes vinculados no cliente",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "work_folder": {
                      "type": "string",
                      "description": "Pasta de trabalho",
                      "nullable": true
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "name": "Teste",
                    "desk_ids": [
                      1
                    ],
                    "technical_group_ids": [
                      1
                    ],
                    "social": "Hettinger-Schowalter",
                    "social_revenue": "46.802.965/0003-60",
                    "status": true,
                    "max_agents": 1,
                    "email_financial": "alphonso_wintheiser@graham.test",
                    "sms_financial": "47984253028",
                    "municipal_registration": "123",
                    "estadual_registration": "321",
                    "anotations": "Sit excepturi nulla. Sint fugiat alias.",
                    "visible_to_clients": true,
                    "work_folder": "https://app.tiflux.com/v/",
                    "quarterly_billing": true,
                    "quarterly_bill_client_id": 16,
                    "billing_report_type": "detailed",
                    "authorization_flow": true
                  }
                }
              }
            }
          }
        }
      }
    },
    "/clients/{id}/desks": {
      "get": {
        "summary": "Relacionamento com mesas",
        "tags": [
          "Clientes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista as mesas que estão relacionadas com um determinado cliente.\n\nVocê pode definir os relacionamentos de mesa dos clientes atualizando o atributo `desk_ids` através do método [Atualizar cliente](#put-/clients/-id-).",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_id_desks",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 2,
                    "active": true,
                    "appointment_type": "Appointments with no Valorization",
                    "display_name": "API",
                    "name": "API"
                  },
                  {
                    "id": 3,
                    "active": true,
                    "appointment_type": "Appointments with no Valorization",
                    "display_name": "API",
                    "name": "API"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID da mesa de serviços"
                      },
                      "active": {
                        "type": "boolean",
                        "description": "A mesa está ativa?"
                      },
                      "appointment_type": {
                        "type": "string",
                        "description": "Tipo de apontamento configurado na mesa",
                        "enum": [
                          "Appointments with Valorization",
                          "Appointments with no Valorization",
                          "Without Appointments"
                        ]
                      },
                      "display_name": {
                        "type": "string",
                        "description": "Nome de exibição da mesa de serviços"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome da mesa de serviços"
                      }
                    },
                    "required": [
                      "id",
                      "active",
                      "appointment_type",
                      "display_name",
                      "name"
                    ]
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/clients/{id}/technical-groups": {
      "get": {
        "summary": "Relacionamento com grupos técnicos",
        "tags": [
          "Clientes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os grupos técnicos/atendentes que estão relacionados com um determinado cliente.\n\nVocê pode definir os relacionamentos de Grupos técnicos dos clientes atualizando o atributo `technical_groups_ids` através do método [Atualizar cliente](#put-/clients/-id-).",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_id_technical-groups",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 28,
                    "name": "General Management"
                  },
                  {
                    "id": 29,
                    "name": "Human Resources"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID do grupo técnico"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do grupo técnico"
                      }
                    },
                    "required": [
                      "id",
                      "name"
                    ]
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/clients/{id}/entities": {
      "put": {
        "summary": "Atualizar campos personalizados do cliente",
        "tags": [
          "Clientes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Esta rota permite a atualização dos campos personalizados associados a um cliente específico.\n\nPara consultar quais campos personalizados estão disponíveis para o cliente em questão, utilize o método [Exibir cliente](#get-/clients/-id-).\n### **Descrição dos valores aceitos**\nO formato do valor do campo (`value`) deve ser compatível com o tipo de campo personalizado (`entity_field_id`) que está sendo atualizado. Consulte a tabela abaixo para obter exemplos de valores válidos para cada tipo de campo:\nTipo de campo | Descrição | Exemplos\n--- | --- | ---\ntext | Aceita qualquer valor de string | `\"Meu texto\"`\ntext_area | Aceita qualquer valor de string | `\"Meu texto de exemplo\"`\ncurrency | Aceita uma string de números float utilizando o ponto como separador decimal e sem agrupador de milhares | `\"1200.55\"`,`\"15\"`\nphone | Aceita uma string de números inteiros, representando o número de telefone sem o código do país (DDI). Por padrão, o sistema vai tentar validar esse telefone como um número brasileiro. Se você deseja inserir um número de outro país, será necessário utilizar o atributo `country_code` junto no corpo da sua requisição | `\"47999999999\"`\nemail | Aceita uma string com o e-mail | `\"suporte@tiflux.com\"`\nlink | Aceita uma string contendo o endereço do link. O link deve começar com http, https ou ftp, para ser considerado como válido | `\"https://guia-de-uso.tiflux.com/\"`\ndate | Aceita uma string contendo a data. Serão aceitas datas em vários formatos (inclusive com horas). Porém, o valor será gravado em banco da seguinte forma: \"YYYY-MM-DD\", sendo assim, recomendamos que você informe a data nesse padrão também | `\"2025-05-28\"`\nsingle_select | Aceita uma string contendo um número inteiro com o ID da nova opção que foi escolhida | `\"777\"`, `\"52\"`\ncheckbox | Aceita uma string contendo um valor booleano representando se você deseja marcar o checkbox (\"true\") ou desmarcá-lo (\"false\") | `\"true\"`, `\"false\"`\n\n- **Observação:** Se você deseja apagar/limpar o valor de um campo personalizado que não é obrigatório, basta informar o atributo value como null: `\"value\": null`",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_clients_id_entities",
        "responses": {
          "200": {
            "description": "### **Campos personalizados atualizados com sucesso**\nO corpo da resposta dessa requisição será um objeto `client` contendo informações básicas do cliente e outro objeto `entities`, contendo todos os campos personalizados dele após a atualização",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Exibir informações de entidade do cliente (show_entities=true)",
                  "properties": {
                    "client": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do cliente"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do cliente"
                        },
                        "social": {
                          "type": "string",
                          "description": "Razão social"
                        },
                        "social_revenue": {
                          "type": "string",
                          "description": "CPF/CNPJ",
                          "nullable": true
                        }
                      }
                    },
                    "entities": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do campo personalizado"
                          },
                          "active": {
                            "type": "boolean",
                            "description": "O campo personalizado está ativo?"
                          },
                          "applied_in": {
                            "type": "string",
                            "description": "Onde o campo personalizado está aplicado/configurado"
                          },
                          "description": {
                            "type": "string",
                            "description": "Descrição do campo personalizado",
                            "nullable": true
                          },
                          "menu_item": {
                            "type": "boolean",
                            "description": "É um item de menu?",
                            "nullable": true
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do campo personalizado"
                          },
                          "entity_fields": {
                            "type": "array",
                            "description": "**Lista de campos, dos campos personalizados vinculados nesse cliente**",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer",
                                  "description": "Identificador do valor preenchido",
                                  "nullable": true
                                },
                                "field_type": {
                                  "type": "string",
                                  "enum": [
                                    "email",
                                    "date",
                                    "currency",
                                    "phone",
                                    "checkbox",
                                    "text",
                                    "text_area",
                                    "single_select",
                                    "link"
                                  ],
                                  "description": "Tipos de campo: \"**email**\", \"**date**\", \"**currency**\", \"**phone**\", \"**checkbox**\", \"**text**\", \"**text_area**\", \"**single_select**\", \"**link**\""
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Nome do campo"
                                },
                                "required": {
                                  "type": "boolean",
                                  "description": "Informa se o campo é de preenchimento obrigatório"
                                },
                                "entity_field_id": {
                                  "type": "integer",
                                  "description": "Identificador do campo"
                                },
                                "entity_id": {
                                  "type": "integer",
                                  "description": "Identificador do campo personalizado"
                                },
                                "value": {
                                  "type": "string",
                                  "description": "Valor preenchido",
                                  "nullable": true
                                },
                                "options": {
                                  "description": "**Lista com valores das opções preenchidas no campo** (utilizado em campos do tipo checkbox e single_select)",
                                  "default": [

                                  ],
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "integer",
                                        "description": "Identificador do valor preenchido"
                                      },
                                      "entity_field_id": {
                                        "type": "integer",
                                        "description": "Identificador do campo"
                                      },
                                      "entity_field_option_id": {
                                        "type": "integer",
                                        "description": "Identificador da opção"
                                      },
                                      "title": {
                                        "type": "string",
                                        "description": "Nome da opção"
                                      },
                                      "value": {
                                        "type": "string",
                                        "description": "Valor da opção"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "client": {
                    "id": 16,
                    "name": "Bernhard Group",
                    "social": "Hamill and Sons",
                    "social_revenue": "43116429000828"
                  },
                  "entities": [
                    {
                      "id": 1,
                      "active": true,
                      "applied_in": "client",
                      "description": "Campo personalizado de menu",
                      "entity_fields": [
                        {
                          "id": 1,
                          "entity_field_id": 1,
                          "entity_id": 1,
                          "field_type": "text",
                          "name": "Campo de texto no cliente",
                          "options": [

                          ],
                          "required": false,
                          "value": "Novo texto da entidade"
                        },
                        {
                          "id": 32,
                          "entity_field_id": 2,
                          "entity_id": 1,
                          "field_type": "text_area",
                          "name": "Campo de área de texto no cliente",
                          "options": [

                          ],
                          "required": false,
                          "value": "Novo texto do campo de área de texto"
                        },
                        {
                          "id": 35,
                          "entity_field_id": 3,
                          "entity_id": 1,
                          "field_type": "email",
                          "name": "Campo de email no cliente",
                          "options": [

                          ],
                          "required": false,
                          "value": "yoko@rempel.test"
                        },
                        {
                          "id": 33,
                          "entity_field_id": 4,
                          "entity_id": 1,
                          "field_type": "currency",
                          "name": "Campo de moeda no cliente",
                          "options": [

                          ],
                          "required": false,
                          "value": "150.55"
                        },
                        {
                          "id": 34,
                          "entity_field_id": 5,
                          "entity_id": 1,
                          "field_type": "phone",
                          "name": "Campo de telefone no cliente",
                          "options": [

                          ],
                          "required": false,
                          "value": "+5547999999999"
                        },
                        {
                          "id": 37,
                          "entity_field_id": 6,
                          "entity_id": 1,
                          "field_type": "date",
                          "name": "Campo de data no cliente",
                          "options": [

                          ],
                          "required": false,
                          "value": "2024-06-28"
                        },
                        {
                          "id": 36,
                          "entity_field_id": 7,
                          "entity_id": 1,
                          "field_type": "link",
                          "name": "Campo de link no cliente",
                          "options": [

                          ],
                          "required": false,
                          "value": "https://app.tiflux.com/v/"
                        },
                        {
                          "id": 38,
                          "entity_field_id": 8,
                          "entity_id": 1,
                          "field_type": "single_select",
                          "name": "Campo de Seleção única no cliente",
                          "options": [
                            {
                              "id": 38,
                              "entity_field_id": 8,
                              "entity_field_option_id": 2,
                              "title": "Opção 2",
                              "value": "2"
                            }
                          ],
                          "required": false,
                          "value": "Opção 2"
                        },
                        {
                          "id": null,
                          "entity_field_id": 9,
                          "entity_id": 1,
                          "field_type": "checkbox",
                          "name": "Campo de Checkbox",
                          "options": [
                            {
                              "id": 40,
                              "entity_field_id": 9,
                              "entity_field_option_id": 4,
                              "title": "Check 2",
                              "value": "true"
                            },
                            {
                              "id": 41,
                              "entity_field_id": 9,
                              "entity_field_option_id": 5,
                              "title": "Check 3",
                              "value": "true"
                            }
                          ],
                          "required": false,
                          "value": "Check 3, Check 2"
                        }
                      ],
                      "menu_item": true,
                      "name": "Teste"
                    }
                  ]
                }
              }
            }
          },
          "207": {
            "description": "### **Sucesso Parcial na Atualização de Campos Personalizados**\nEste código de resposta indica que a requisição para atualizar campos personalizados foi **parcialmente bem-sucedida**. Ou seja, alguns dos campos podem ter sido atualizados com sucesso, enquanto outros apresentaram falhas e não foram atualizados.\n\nPara os campos que apresentaram falhas na atualização, o motivo do erro está detalhado no atributo `detail`. Se um campo não constar na listagem de erros, significa que ele foi atualizado com sucesso.",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 20701,
                  "message": "Your request was partially successful. Some entity values were updated successfully, but others had errors",
                  "detail": {
                    "entities": [
                      "The property '#/0/entity_field_id': Couldn't find EntityField with id=0 applied in Client. The entity may be inactive or not exist",
                      "The property '#/1/value' of type integer did not match one or more of the following types: string, null in schema 34337688-21eb-563d-8c1e-79a0682d932b",
                      "The property '#/2/entity_field_option_id': Cannot send EntityFieldOption in a field_type currency",
                      "The property '#/3/value': Is not a valid phone number",
                      "The property '#/4/value': Is not a valid email",
                      "The property '#/5/value': Is not a valid link",
                      "The property '#/6/value': Is not a valid date",
                      "The property '#/7/value': Option id=0 is not a valid option in EntityField (id=8)"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Parâmetro inválido encontrado**\nVocê informou algum atributo inválido ou fora do padrão dessa requisição. Confira os exemplos e o schema, para garantir que o corpo da sua requisição esteja no formato correto",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40001,
                  "message": "Unknown parameters",
                  "detail": {
                    "error": [
                      "found unpermitted parameter: :name"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/entities"
              },
              "examples": {
                "Text field": {
                  "summary": "Text field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 1,
                        "value": "Novo texto do campo tipo texto"
                      }
                    ]
                  }
                },
                "Text_area field": {
                  "summary": "Text_area field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 2,
                        "value": "Novo texto do campo de área de texto"
                      }
                    ]
                  }
                },
                "Currency field": {
                  "summary": "Currency field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 4,
                        "value": "150.55"
                      }
                    ]
                  }
                },
                "Phone field": {
                  "summary": "Phone field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 5,
                        "value": "47999999999",
                        "country_code": "BR"
                      }
                    ]
                  }
                },
                "Email field": {
                  "summary": "Email field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 3,
                        "value": "new_mail@to.entity.com"
                      }
                    ]
                  }
                },
                "Link field": {
                  "summary": "Link field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 7,
                        "value": "https://app.tiflux.com/v/"
                      }
                    ]
                  }
                },
                "Date field": {
                  "summary": "Date field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 6,
                        "value": "2024-06-28"
                      }
                    ]
                  }
                },
                "Single_select field": {
                  "summary": "Single_select field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 8,
                        "value": "2"
                      }
                    ]
                  }
                },
                "Checkbox field": {
                  "summary": "Checkbox field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 9,
                        "entity_field_option_id": 3,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 9,
                        "entity_field_option_id": 4,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 9,
                        "entity_field_option_id": 5,
                        "value": "true"
                      }
                    ]
                  }
                },
                "Update all entity values": {
                  "summary": "Update all entity values",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 1,
                        "value": "Novo texto da entidade"
                      },
                      {
                        "entity_field_id": 2,
                        "value": "Novo texto do campo de área de texto"
                      },
                      {
                        "entity_field_id": 4,
                        "value": "150.55"
                      },
                      {
                        "entity_field_id": 5,
                        "value": "47999999999",
                        "country_code": "BR"
                      },
                      {
                        "entity_field_id": 3,
                        "value": "yoko@rempel.test"
                      },
                      {
                        "entity_field_id": 7,
                        "value": "https://app.tiflux.com/v/"
                      },
                      {
                        "entity_field_id": 6,
                        "value": "2024-06-28"
                      },
                      {
                        "entity_field_id": 8,
                        "value": "2"
                      },
                      {
                        "entity_field_id": 9,
                        "entity_field_option_id": 3,
                        "value": "false"
                      },
                      {
                        "entity_field_id": 9,
                        "entity_field_option_id": 4,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 9,
                        "entity_field_option_id": 5,
                        "value": "true"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Este schema define a estrutura de dados para atualização de campos personalizados de um cliente. Ele é composto por um array de objetos, onde cada objeto representa um campo personalizado a ser atualizado"
        }
      }
    },
    "/clients/{id}/email_tickets_permissions": {
      "post": {
        "summary": "Adicionar domínio para abrir tickets por e-mail",
        "tags": [
          "Clientes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Adiciona um domínio de e-mail como permitido para criar tickets por e-mail.\n\nAssim você pode especificar quais domínios têm permissão para abrir tickets diretamente na mesa em nome deste cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_clients_id_email_tickets_permissions",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "active": true,
                  "address": "gmail.com",
                  "client_id": 15,
                  "created_at": "2026-04-28T21:28:01Z",
                  "permission_type": "domain"
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID da permissão criada"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "A permissão está ativa?"
                    },
                    "address": {
                      "type": "string",
                      "description": "Domínio do endereço de email permitido"
                    },
                    "client_id": {
                      "type": "integer",
                      "description": "ID do cliente para o qual a permissão foi criada"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Data da criação"
                    },
                    "permission_type": {
                      "type": "string",
                      "description": "Tipo de permissão",
                      "enum": [
                        "email",
                        "domain"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "active",
                    "address",
                    "client_id",
                    "created_at",
                    "permission_type"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40402,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=99"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Endereço de email mal formatado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "address": [
                      "errado@.com is not a valid email domain"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar tickets por e-mail"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address": {
                    "type": "string",
                    "format": "email",
                    "default": null,
                    "description": "Endereço de e-mail ou domínio autorizado a abrir tickets em nome do cliente. Pode ser um endereço completo (ex: suporte@exemplo.com) ou apenas um domínio genérico (ex: @exemplo.com)."
                  }
                },
                "required": [
                  "address"
                ]
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "address": "teste@gmail.com"
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/clients/{id}/users": {
      "post": {
        "summary": "Criar usuário cliente",
        "tags": [
          "Clientes",
          "Usuários"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Identificador do cliente ao qual o novo usuário será vinculado",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Cria um novo usuário cliente para sua organização, enviando um convite por e-mail.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_clients_id_users",
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "message": "Client user was successfully invited",
                  "user": {
                    "id": 34,
                    "name": "New Client User Name",
                    "email": "client_mail@mail.com"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "Mensagem de convite informativa"
                    },
                    "user": {
                      "type": "object",
                      "description": "Objeto representando o usuário que foi criado/convidado",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "ID do usuário criado"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome"
                        },
                        "email": {
                          "type": "string",
                          "description": "Endereço de email"
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "email"
                      ]
                    }
                  },
                  "required": [
                    "user",
                    "message"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar usuários"
          },
          {
            "color": "red",
            "label": "Cadastrar solicitantes e usuários clientes"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/create_client_user"
              },
              "examples": {
                "Criar usuário cliente": {
                  "summary": "Criar usuário cliente",
                  "value": {
                    "user": {
                      "name": "New Client User Name",
                      "email": "client_mail@mail.com"
                    }
                  }
                },
                "Criar usuário cliente com todos os atributos": {
                  "summary": "Criar usuário cliente com todos os atributos",
                  "value": {
                    "user": {
                      "name": "Client User Name 2",
                      "email": "client_mail2@mail.com",
                      "telephone": "(47) 99999-9999",
                      "country_code": "br",
                      "extension": 123,
                      "authorization_flow": true
                    }
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/clients/{client_id}/contacts": {
      "get": {
        "summary": "Listar contatos",
        "tags": [
          "Contatos"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "client_id",
            "in": "path",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista os contatos que existem em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_client_id_contacts",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 33,
                    "email": "brian@hessel-gislason.test",
                    "owner": "Madelyn Gorczany",
                    "telephone": "+16626173378",
                    "use": "Personal"
                  },
                  {
                    "id": 34,
                    "email": "bart_bogan@trantow.example",
                    "owner": "Clinton Hyatt",
                    "telephone": "+19899545312",
                    "use": "Personal"
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      },
      "post": {
        "summary": "Criar contato",
        "tags": [
          "Contatos"
        ],
        "description": "Cria um novo contato em um determinado cliente.",
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_clients_client_id_contacts",
        "responses": {
          "201": {
            "description": "### **Contato criado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 35,
                  "email": "jules@schmidt.test",
                  "owner": "Rosetta Runolfsdottir",
                  "telephone": "+5562975453794",
                  "use": "Personal"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "number": [
                      "can't be blank"
                    ],
                    "owner": [
                      "can't be blank"
                    ],
                    "use": [
                      "can't be blank"
                    ],
                    "email": [
                      "is invalid"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Não informou um body pra requisição**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40003,
                  "message": "Missing required parameters. The request's body is invalid",
                  "detail": {
                    "error": [
                      "param is missing or the value is empty: contact"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "Número brasileiro": {
                  "summary": "Número brasileiro",
                  "value": {
                    "use": "Personal",
                    "number": "+55 (62) 97545-3794",
                    "owner": "Rosetta Runolfsdottir",
                    "email": "jules@schmidt.test"
                  }
                },
                "Número dos estados unidos": {
                  "summary": "Número dos estados unidos",
                  "value": {
                    "use": "Commercial",
                    "number": "+1 786-856-1479",
                    "country": "US",
                    "owner": "Rev. Lowell Runolfsson",
                    "email": "tayna@moore.test"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/clients/{client_id}/contacts/{id}": {
      "get": {
        "summary": "Exibir contato",
        "tags": [
          "Contatos"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do contato",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe informações detalhadas sobre um contato cadastrado em um determinado cliente.\n\nNo momento, um cadastro de contato não possui muitas informações no sistema. Sendo assim, o objeto retornado nessa requisição, contém os mesmos atributos que a requisição de [listar contatos](#get-/clients/-client_id-/contacts)",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_client_id_contacts_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 33,
                  "email": "brian@hessel-gislason.test",
                  "owner": "Madelyn Gorczany",
                  "telephone": "+16626173378",
                  "use": "Personal"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente ou contato não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Contact with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      },
      "put": {
        "summary": "Atualizar contato",
        "tags": [
          "Contatos"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do contato",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Atualiza informações de um contato cadastrado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_clients_client_id_contacts_id",
        "responses": {
          "200": {
            "description": "### **Contato atualizado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 33,
                  "email": "brian@hessel-gislason.test",
                  "owner": "Anita Cormier V",
                  "telephone": "+16626173378",
                  "use": "Personal"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente ou contato não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Contact with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "owner": "Anita Cormier V"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Excluir contato",
        "tags": [
          "Contatos"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do contato",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Remove um contato cadastrado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_clients_client_id_contacts_id",
        "responses": {
          "204": {
            "description": "### **Contato removido com sucesso**\nEssa resposta não contem body"
          },
          "404": {
            "description": "### **Cliente ou contato não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Contact with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ]
      }
    },
    "/contracts": {
      "get": {
        "summary": "Listar contratos",
        "tags": [
          "Contratos"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "client_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por clientes.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "1": {
                "value": [
                  "982",
                  "2",
                  "1024"
                ],
                "summary": "Filtrar por mais de 1 cliente"
              },
              "2": {
                "value": [
                  "44"
                ],
                "summary": "Filtrar por 1 cliente"
              }
            }
          },
          {
            "name": "contract_type_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por tipos de contratos.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "1": {
                "value": [
                  "3",
                  "289",
                  "3"
                ],
                "summary": "Filtrar por mais de 1 tipo de contrato"
              },
              "2": {
                "value": [
                  "27"
                ],
                "summary": "Filtrar por 1 tipo de contrato"
              }
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filtrar por status do contrato.\n\nPor padrão, se o status não for especificado, apenas contratos ativos serão listados.\n\nPara filtrar por múltiplos status, informe-os em sequência, separados por vírgula.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "actives",
                  "readjust",
                  "expired"
                ]
              }
            },
            "examples": {
              "1": {
                "value": [
                  "actives"
                ],
                "summary": "DEFAULT: Filtra por contratos ativos"
              },
              "2": {
                "value": [
                  "expired"
                ],
                "summary": "Filtrar por contratos inativos"
              },
              "3": {
                "value": [
                  "readjust"
                ],
                "summary": "Filtrar por contratos pendentes de reajuste"
              },
              "4": {
                "value": [
                  "actives",
                  "readjust",
                  "expired"
                ],
                "summary": "Filtrar por todos os status"
              }
            }
          }
        ],
        "description": "Lista os contratos que existem na sua organização.\n\n> Os valores dos campos `rider_tax`, `rider_value` e `total_value` serão exibidos apenas para usuários com a permissão <span style=\"white-space: nowrap; margin:1px; padding:1px 8px; font-weight:bold; border-radius:12px;  background-color: var(--light-red, var(--input-bg)); color:var(--red); border:1px solid var(--red)\"><!--?lit$8458964218$-->Visualizar valores dos tickets</span>. Caso o usuário não possua esta permissão, esses campos retornarão `\"--\"` na resposta.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_contracts",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "cancelled": false,
                    "client": {
                      "id": 19,
                      "name": "Thiel, Beier and Donnelly"
                    },
                    "contract_type": {
                      "id": 1,
                      "name": "Contract type free"
                    },
                    "duration": 120,
                    "expiration_date": "2033-12-31",
                    "modality": "Free",
                    "name": "A sample contract",
                    "readjust_duration": 40,
                    "readjustment_date": "2027-04-30",
                    "rider_tax": "0.00",
                    "rider_value": "999.90",
                    "status": "actives",
                    "total_value": "999.90"
                  }
                ],
                "schema": {
                  "title": "SCHEMA: Listar contratos",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number",
                        "description": "Identificador do contrato"
                      },
                      "cancelled": {
                        "type": "boolean",
                        "description": "Indica se o contrato está cancelado ou com cancelamento agendado"
                      },
                      "client": {
                        "type": "object",
                        "description": "Objeto contendo informações sobre o cliente associado ao contrato",
                        "properties": {
                          "id": {
                            "type": "number",
                            "description": "Identificador do cliente"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do cliente"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "contract_type": {
                        "type": "object",
                        "description": "Objeto contendo informações sobre o tipo de contrato",
                        "properties": {
                          "id": {
                            "type": "number",
                            "description": "Identificador do tipo de contrato"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do tipo de contrato"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "duration": {
                        "type": "number",
                        "nullable": true,
                        "description": "Duração do contrato em meses. Presente apenas se determinado um prazo de expiração do contrato"
                      },
                      "expiration_date": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data de expiração do contrato"
                      },
                      "modality": {
                        "type": "string",
                        "description": "Modalidade",
                        "enum": [
                          "Free",
                          "Credit",
                          "Shared",
                          "Hours",
                          "Saas/Product",
                          "Per ticket",
                          "Cumulative Hours"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do contrato"
                      },
                      "readjust_duration": {
                        "type": "number",
                        "nullable": true,
                        "description": "Intervalo (em meses) para reajuste do contrato. Presente apenas se o contrato tiver reajuste de valores"
                      },
                      "readjustment_date": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data de reajuste do contrato, se aplicável"
                      },
                      "rider_tax": {
                        "type": "string",
                        "description": "Utilizado em contratos de crédito. Esse é o valor fixo mensal à ser pago pelo contrato. Este valor informado não é usado como crédito mensal para abater das horas trabalhadas."
                      },
                      "rider_value": {
                        "type": "string",
                        "description": "Valor do último adendo"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "actives",
                          "readjust",
                          "expired"
                        ],
                        "description": "Status ou situação em que o contrato se encontra:\n\n* `actives`: Ativo\n\n* `readjust`: Pendente de reajuste\n\n* `expired`: Inativo"
                      },
                      "total_value": {
                        "type": "string",
                        "description": "Valor total do contrato: valor do último adendo (rider_value) + valor fixo mensal (rider_tax)"
                      }
                    },
                    "required": [
                      "id",
                      "readjustment_date",
                      "cancelled",
                      "client",
                      "contract_type",
                      "duration",
                      "expiration_date",
                      "modality",
                      "name",
                      "readjust_duration",
                      "rider_tax",
                      "rider_value",
                      "status",
                      "total_value"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "status": [
                      "contains invalid values: 123"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar contratos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/contracts/{id}": {
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "ID do contrato",
          "example": 1,
          "required": true,
          "schema": {
            "type": "integer"
          }
        }
      ],
      "put": {
        "summary": "Atualizar contrato",
        "tags": [
          "Contratos"
        ],
        "parameters": [

        ],
        "description": "Atualiza informações de um determinado contrato.\n\n**Tipos de contratos suportados:**\n\n* Horas\n\n* Crédito\n\n**Regras e validações:**\n\n* Os atributos aceitos no corpo da requisição, bem como os retornados na resposta, variam de acordo com o tipo de contrato informado. Consulte os exemplos e os schemas, para entender as diferenças entre cada tipo\n\n* Não é permitido atualizar contratos cancelados ou inativos",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_contracts_id",
        "responses": {
          "200": {
            "description": "Contrato atualizado com sucesso",
            "content": {
              "application/json": {
                "examples": {
                  "Atualizar contrato de horas": {
                    "value": {
                      "id": 2,
                      "active": true,
                      "automatic_billing": false,
                      "automatic_renewal": false,
                      "billing_days_before": 10,
                      "billing_in_batch": false,
                      "client": {
                        "id": 19,
                        "name": "Thiel, Beier and Donnelly"
                      },
                      "consumption_reminder": {
                        "notification": false,
                        "percent": null,
                        "emails": null
                      },
                      "contract_type": {
                        "id": 2,
                        "name": "Contract type hours: Bechtelar, West and Boyer",
                        "modality": "Hours"
                      },
                      "duration": 120,
                      "expiration_date": "2033-12-31",
                      "last_rider": {
                        "id": 2,
                        "description": "Adendo atualizado",
                        "discount_type": "currency",
                        "discount_value": 200.0,
                        "due_day": 20,
                        "qtd_hours": "180:00",
                        "release": 0,
                        "rider_number": 2,
                        "surplus_hour_value": 55.0,
                        "value": 6000.0
                      },
                      "name": "Novo nome do contrato de horas",
                      "permit_appointments_readjustment": false,
                      "technical_observations": "Observações técnicas atualizadas"
                    }
                  },
                  "Atualizar contrato de crédito": {
                    "value": {
                      "id": 4,
                      "active": true,
                      "automatic_billing": false,
                      "automatic_renewal": false,
                      "billing_days_before": 28,
                      "billing_in_batch": false,
                      "client": {
                        "id": 19,
                        "name": "Thiel, Beier and Donnelly"
                      },
                      "consumption_reminder": {
                        "notification": true,
                        "percent": 80,
                        "emails": "email1@email.com,email2@email.com"
                      },
                      "contract_type": {
                        "id": 4,
                        "name": "Contract type credit",
                        "modality": "Credit"
                      },
                      "duration": 120,
                      "expiration_date": "2033-12-31",
                      "last_rider": {
                        "id": 4,
                        "description": "Adendo atualizado",
                        "discount_type": "currency",
                        "discount_value": 100.0,
                        "due_day": 7,
                        "external_value": 0.0,
                        "internal_value": 0.0,
                        "release": 0,
                        "remote_value": 0.0,
                        "rider_number": 2,
                        "tax": 10.0,
                        "value": 120.0
                      },
                      "name": "Novo nome do contrato de crédito",
                      "permit_appointments_readjustment": false,
                      "technical_observations": "Observações técnicas atualizadas"
                    }
                  }
                },
                "schema": {
                  "title": "SCHEMA: Exibir contrato",
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number",
                          "description": "Identificador do contrato"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do contrato"
                        },
                        "active": {
                          "type": "boolean",
                          "description": "Indica se o contrato está ativo"
                        },
                        "expiration_date": {
                          "type": "string",
                          "nullable": true,
                          "description": "Data de expiração do contrato"
                        },
                        "duration": {
                          "type": "number",
                          "nullable": true,
                          "description": "Duração do contrato em meses"
                        },
                        "automatic_renewal": {
                          "type": "boolean",
                          "description": "Renovação automática"
                        },
                        "permit_appointments_readjustment": {
                          "type": "boolean",
                          "description": "Permite apontamentos quando pendente de reajuste"
                        },
                        "billing_in_batch": {
                          "type": "boolean",
                          "description": "Faturamento em lote"
                        },
                        "automatic_billing": {
                          "type": "boolean",
                          "description": "Faturamento automático"
                        },
                        "billing_days_before": {
                          "type": "number",
                          "description": "Faturar em quantos dias antes",
                          "minimum": 0,
                          "maximum": 28
                        },
                        "technical_observations": {
                          "type": "string",
                          "nullable": true,
                          "description": "Observações técnicas"
                        },
                        "consumption_reminder": {
                          "type": "object",
                          "description": "Configuração de lembrete de consumo",
                          "properties": {
                            "notification": {
                              "type": "boolean",
                              "description": "Notificar sobre consumo?"
                            },
                            "percent": {
                              "type": "number",
                              "nullable": true,
                              "description": "(%) Percentual de consumo para alertar"
                            },
                            "emails": {
                              "type": "string",
                              "nullable": true,
                              "description": "Emails para enviar notificações, separados por vírgula"
                            }
                          },
                          "required": [
                            "notification",
                            "percent",
                            "emails"
                          ]
                        },
                        "client": {
                          "type": "object",
                          "description": "Objeto contendo informações sobre o cliente associado ao contrato",
                          "properties": {
                            "id": {
                              "type": "number",
                              "description": "Identificador do cliente"
                            },
                            "name": {
                              "type": "string",
                              "description": "Nome do cliente"
                            }
                          },
                          "required": [
                            "id",
                            "name"
                          ]
                        },
                        "contract_type": {
                          "type": "object",
                          "description": "Objeto contendo informações sobre o tipo de contrato",
                          "properties": {
                            "id": {
                              "type": "number",
                              "description": "Identificador do tipo de contrato"
                            },
                            "name": {
                              "type": "string",
                              "description": "Nome do tipo de contrato"
                            },
                            "modality": {
                              "type": "string",
                              "description": "Nome da modalidade do contrato",
                              "enum": [
                                "Hours",
                                "Credit"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "modality"
                          ]
                        },
                        "last_rider": {
                          "type": "object",
                          "nullable": true,
                          "description": "Último adendo do contrato",
                          "properties": {
                            "id": {
                              "type": "number",
                              "description": "Identificador do adendo"
                            },
                            "rider_number": {
                              "type": "number",
                              "description": "Número do adendo"
                            },
                            "release": {
                              "type": "number",
                              "description": "Número da versão do adendo"
                            },
                            "due_day": {
                              "type": "number",
                              "description": "Dia de vencimento",
                              "minimum": 1,
                              "maximum": 28
                            },
                            "description": {
                              "type": "string",
                              "nullable": true,
                              "description": "Descrição do adendo"
                            },
                            "value": {
                              "type": "number",
                              "description": "Valor mensal"
                            },
                            "discount_value": {
                              "type": "number",
                              "description": "Desconto"
                            },
                            "discount_type": {
                              "type": "string",
                              "nullable": true,
                              "description": "Tipo de desconto"
                            },
                            "qtd_hours": {
                              "type": "string",
                              "description": "Horas por ciclo de fechamento"
                            },
                            "surplus_hour_value": {
                              "type": "number",
                              "description": "Valor da hora excedente"
                            }
                          },
                          "required": [
                            "id",
                            "rider_number",
                            "release",
                            "due_day",
                            "description",
                            "value",
                            "discount_value",
                            "discount_type",
                            "qtd_hours",
                            "surplus_hour_value"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "active",
                        "expiration_date",
                        "duration",
                        "automatic_renewal",
                        "billing_in_batch",
                        "automatic_billing",
                        "billing_days_before",
                        "consumption_reminder",
                        "last_rider",
                        "client",
                        "contract_type"
                      ],
                      "description": "Contrato de horas"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number",
                          "description": "Identificador do contrato"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do contrato"
                        },
                        "active": {
                          "type": "boolean",
                          "description": "Indica se o contrato está ativo"
                        },
                        "expiration_date": {
                          "type": "string",
                          "nullable": true,
                          "description": "Data de expiração do contrato"
                        },
                        "duration": {
                          "type": "number",
                          "nullable": true,
                          "description": "Duração do contrato em meses"
                        },
                        "automatic_renewal": {
                          "type": "boolean",
                          "description": "Renovação automática"
                        },
                        "permit_appointments_readjustment": {
                          "type": "boolean",
                          "description": "Permite apontamentos quando pendente de reajuste"
                        },
                        "billing_in_batch": {
                          "type": "boolean",
                          "description": "Faturamento em lote"
                        },
                        "automatic_billing": {
                          "type": "boolean",
                          "description": "Faturamento automático"
                        },
                        "billing_days_before": {
                          "type": "number",
                          "description": "Faturar em quantos dias antes",
                          "minimum": 0,
                          "maximum": 28
                        },
                        "technical_observations": {
                          "type": "string",
                          "nullable": true,
                          "description": "Observações técnicas"
                        },
                        "consumption_reminder": {
                          "type": "object",
                          "description": "Configuração de lembrete de consumo",
                          "properties": {
                            "notification": {
                              "type": "boolean",
                              "description": "Notificar sobre consumo?"
                            },
                            "percent": {
                              "type": "number",
                              "nullable": true,
                              "description": "(%) Percentual de consumo para alertar"
                            },
                            "emails": {
                              "type": "string",
                              "nullable": true,
                              "description": "Emails para enviar notificações, separados por vírgula"
                            }
                          },
                          "required": [
                            "notification",
                            "percent",
                            "emails"
                          ]
                        },
                        "client": {
                          "type": "object",
                          "description": "Objeto contendo informações sobre o cliente associado ao contrato",
                          "properties": {
                            "id": {
                              "type": "number",
                              "description": "Identificador do cliente"
                            },
                            "name": {
                              "type": "string",
                              "description": "Nome do cliente"
                            }
                          },
                          "required": [
                            "id",
                            "name"
                          ]
                        },
                        "contract_type": {
                          "type": "object",
                          "description": "Objeto contendo informações sobre o tipo de contrato",
                          "properties": {
                            "id": {
                              "type": "number",
                              "description": "Identificador do tipo de contrato"
                            },
                            "name": {
                              "type": "string",
                              "description": "Nome do tipo de contrato"
                            },
                            "modality": {
                              "type": "string",
                              "description": "Nome da modalidade do contrato",
                              "enum": [
                                "Hours",
                                "Credit"
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "modality"
                          ]
                        },
                        "last_rider": {
                          "type": "object",
                          "nullable": true,
                          "description": "Último adendo do contrato",
                          "properties": {
                            "id": {
                              "type": "number",
                              "description": "Identificador do adendo"
                            },
                            "rider_number": {
                              "type": "number",
                              "description": "Número do adendo"
                            },
                            "release": {
                              "type": "number",
                              "description": "Número da versão do adendo"
                            },
                            "due_day": {
                              "type": "number",
                              "description": "Dia de vencimento",
                              "minimum": 1,
                              "maximum": 28
                            },
                            "description": {
                              "type": "string",
                              "nullable": true,
                              "description": "Descrição do adendo"
                            },
                            "value": {
                              "type": "number",
                              "description": "Crédito mensal"
                            },
                            "discount_value": {
                              "type": "number",
                              "description": "Desconto"
                            },
                            "discount_type": {
                              "type": "string",
                              "nullable": true,
                              "description": "Tipo de desconto"
                            },
                            "external_value": {
                              "type": "number",
                              "description": "Valor hora externo"
                            },
                            "internal_value": {
                              "type": "number",
                              "description": "Valor hora interno"
                            },
                            "remote_value": {
                              "type": "number",
                              "description": "Valor hora remoto"
                            },
                            "tax": {
                              "type": "number",
                              "description": "Valor fixo mensal"
                            }
                          },
                          "required": [
                            "id",
                            "rider_number",
                            "release",
                            "due_day",
                            "description",
                            "value",
                            "discount_value",
                            "discount_type",
                            "external_value",
                            "internal_value",
                            "remote_value",
                            "tax"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "active",
                        "expiration_date",
                        "duration",
                        "automatic_renewal",
                        "billing_in_batch",
                        "automatic_billing",
                        "billing_days_before",
                        "consumption_reminder",
                        "last_rider",
                        "client",
                        "contract_type"
                      ],
                      "description": "Contrato de crédito"
                    }
                  ]
                }
              }
            }
          },
          "422": {
            "description": "Erro de validação",
            "content": {
              "application/json": {
                "examples": {
                  "Não é possível atualizar um contrato cancelado": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "errors": [
                          "Cannot update a cancelled contract"
                        ]
                      }
                    }
                  },
                  "Contrato inativo": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "active": [
                          "Cannot update an inactive contract"
                        ]
                      }
                    }
                  },
                  "billing_days_before fora do intervalo": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "billing_days_before": [
                          "The maximum number of days for invoicing before the due date must be 28"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "Contrato não encontrado",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Contract with 'id'=\"999999\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar contratos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "description": "Atualização de contrato de horas",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "maxLength": 255,
                        "description": "Nome do contrato"
                      },
                      "automatic_renewal": {
                        "type": "boolean",
                        "description": "Renovação automática?"
                      },
                      "billing_in_batch": {
                        "type": "boolean",
                        "description": "Faturamento em lote?"
                      },
                      "automatic_billing": {
                        "type": "boolean",
                        "description": "Faturamento automático?"
                      },
                      "billing_days_before": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 28,
                        "description": "Faturar quantos dias antes (0-28)"
                      },
                      "technical_observations": {
                        "type": "string",
                        "description": "Observações técnicas"
                      },
                      "rider": {
                        "type": "object",
                        "description": "Dados do adendo (contrato de horas)",
                        "properties": {
                          "due_day": {
                            "type": "number",
                            "minimum": 1,
                            "maximum": 28,
                            "description": "Dia de vencimento (1-28)"
                          },
                          "description": {
                            "type": "string",
                            "description": "Descrição do adendo"
                          },
                          "value": {
                            "type": "float",
                            "description": "Valor mensal"
                          },
                          "discount_value": {
                            "type": "float",
                            "description": "Desconto"
                          },
                          "qtd_hours": {
                            "type": "float",
                            "description": "Horas por ciclo de fechamento"
                          },
                          "surplus_hour_value": {
                            "type": "float",
                            "description": "Valor da hora excedente"
                          }
                        }
                      }
                    }
                  },
                  {
                    "description": "Atualização de contrato de crédito",
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "maxLength": 255,
                        "description": "Nome do contrato"
                      },
                      "automatic_renewal": {
                        "type": "boolean",
                        "description": "Renovação automática?"
                      },
                      "billing_in_batch": {
                        "type": "boolean",
                        "description": "Faturamento em lote?"
                      },
                      "automatic_billing": {
                        "type": "boolean",
                        "description": "Faturamento automático?"
                      },
                      "billing_days_before": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 28,
                        "description": "Faturar quantos dias antes (0-28)"
                      },
                      "technical_observations": {
                        "type": "string",
                        "description": "Observações técnicas"
                      },
                      "rider": {
                        "type": "object",
                        "description": "Dados do adendo (contrato de crédito)",
                        "properties": {
                          "due_day": {
                            "type": "number",
                            "minimum": 1,
                            "maximum": 28,
                            "description": "Dia de vencimento (1-28)"
                          },
                          "description": {
                            "type": "string",
                            "description": "Descrição do adendo"
                          },
                          "value": {
                            "type": "float",
                            "description": "Crédito mensal"
                          },
                          "discount_value": {
                            "type": "float",
                            "description": "Desconto"
                          },
                          "tax": {
                            "type": "float",
                            "description": "Valor fixo mensal"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "examples": {
                "Atualizar contrato de horas": {
                  "summary": "Atualizar contrato de horas",
                  "value": {
                    "name": "Novo nome do contrato de horas",
                    "automatic_renewal": false,
                    "billing_days_before": 10,
                    "technical_observations": "Observações técnicas atualizadas",
                    "rider": {
                      "due_day": 20,
                      "description": "Adendo atualizado",
                      "value": 6000.0,
                      "discount_value": 200.0,
                      "qtd_hours": 180.0,
                      "surplus_hour_value": 55.0
                    }
                  }
                },
                "Atualizar contrato de crédito": {
                  "summary": "Atualizar contrato de crédito",
                  "value": {
                    "name": "Novo nome do contrato de crédito",
                    "automatic_renewal": false,
                    "billing_days_before": 28,
                    "technical_observations": "Observações técnicas atualizadas",
                    "rider": {
                      "due_day": 7,
                      "description": "Adendo atualizado",
                      "value": 120.0,
                      "discount_value": 100.0,
                      "tax": 10.0
                    }
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/entities": {
      "get": {
        "summary": "Listar campos personalizados",
        "tags": [
          "Campos personalizados"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "active",
            "in": "query",
            "required": false,
            "description": "Filtra por campos personalizados ativos ou inativos",
            "examples": {
              "Ativos": {
                "value": true
              },
              "Inativos": {
                "value": false
              }
            },
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "applied_in",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ticket",
                "equipment",
                "client",
                "solicitant",
                "services_catalog",
                "services_catalogs_area",
                "services_catalogs_item"
              ]
            },
            "description": "Filtra por onde o campo personalizado está aplicado"
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Busca os campos personalizados pelo nome"
          }
        ],
        "description": "Lista os campos personalizados que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_entities",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "active": true,
                    "applied_in": "client",
                    "name": "Teste"
                  },
                  {
                    "id": 2,
                    "active": true,
                    "applied_in": "client",
                    "name": "Campo personalizado aplicado em clientes"
                  },
                  {
                    "id": 3,
                    "active": true,
                    "applied_in": "equipment",
                    "name": "Campo personalizado aplicado em recursos"
                  },
                  {
                    "id": 4,
                    "active": true,
                    "applied_in": "ticket",
                    "name": "Campo personalizado aplicado em tickets"
                  },
                  {
                    "id": 5,
                    "active": true,
                    "applied_in": "services_catalog",
                    "name": "Campo personalizado aplicado em catálogo de serviços"
                  },
                  {
                    "id": 6,
                    "active": true,
                    "applied_in": "services_catalogs_area",
                    "name": "Campo personalizado aplicado em área de catálogo de serviços"
                  },
                  {
                    "id": 7,
                    "active": true,
                    "applied_in": "services_catalogs_item",
                    "name": "Campo personalizado aplicado em item de catálogo de serviços"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do campo personalizado"
                      },
                      "active": {
                        "type": "boolean",
                        "description": "Informa se o campo personalizado está ativo"
                      },
                      "applied_in": {
                        "type": "string",
                        "enum": [
                          "ticket",
                          "equipment",
                          "client",
                          "solicitant",
                          "services_catalog",
                          "services_catalogs_area",
                          "services_catalogs_item"
                        ],
                        "description": "Onde o campo personalizado está aplicado"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do campo personalizado"
                      }
                    },
                    "required": [
                      "id",
                      "active",
                      "applied_in",
                      "name"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "active precisa ser um valor booleano": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "active": [
                          "teste is not a valid option. Active must be true and false"
                        ]
                      }
                    }
                  },
                  "Opção inválida de applied_in": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "applied_in": [
                          "0 is not a valid option. Applied in must be ticket, equipment, client, solicitant, services_catalog, services_catalogs_area or services_catalogs_item"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          }
        ]
      },
      "post": {
        "summary": "Criar campo personalizado",
        "tags": [
          "Campos personalizados"
        ],
        "parameters": [

        ],
        "description": "Cria um novo campo personalizado na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_entities",
        "responses": {
          "201": {
            "description": "### **Campo personalizado criado com sucesso**",
            "content": {
              "application/json": {
                "examples": {
                  "Exemplo aplicado em clientes": {
                    "value": {
                      "id": 8,
                      "active": true,
                      "applied_in": "client",
                      "description": "Descrição do campo aplicado em clientes",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": true,
                      "name": "Nome do campo aplicado em clientes",
                      "service_catalog": null
                    }
                  },
                  "Exemplo aplicado em tickets": {
                    "value": {
                      "id": 9,
                      "active": true,
                      "applied_in": "ticket",
                      "description": "Descrição do campo personalizado aplicado em tickets",
                      "desk_ids": [
                        5
                      ],
                      "equipment_type_id": null,
                      "menu_item": true,
                      "name": "Nome do campo personalizado aplicado em tickets",
                      "service_catalog": null
                    }
                  },
                  "Exemplo aplicado em recursos": {
                    "value": {
                      "id": 10,
                      "active": true,
                      "applied_in": "equipment",
                      "description": "Descrição do campo personalizado aplicado em recursos",
                      "desk_ids": [

                      ],
                      "equipment_type_id": 2,
                      "menu_item": false,
                      "name": "Nome do campo personalizado aplicado em recursos",
                      "service_catalog": null
                    }
                  },
                  "Exemplo aplicado em catálogo": {
                    "value": {
                      "id": 11,
                      "active": true,
                      "applied_in": "services_catalog",
                      "description": "Descrição do campo personalizado aplicado em catálogo de serviço",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": false,
                      "name": "Nome do campo personalizado aplicado em catálogo de serviço",
                      "service_catalog": {
                        "catalog_id": 3,
                        "catalog_name": "Catálogo de exemplo"
                      }
                    }
                  },
                  "Exemplo aplicado em área do catálogo": {
                    "value": {
                      "id": 12,
                      "active": true,
                      "applied_in": "services_catalogs_area",
                      "description": "Descrição do campo personalizado aplicado em área do catálogo de serviço",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": false,
                      "name": "Nome do campo personalizado aplicado em área do catálogo de serviço",
                      "service_catalog": {
                        "area_id": 3,
                        "area_name": "Área de exemplo",
                        "catalog_id": 3,
                        "catalog_name": "Catálogo de exemplo"
                      }
                    }
                  },
                  "Exemplo aplicado em item do catálogo": {
                    "value": {
                      "id": 13,
                      "active": true,
                      "applied_in": "services_catalogs_item",
                      "description": "Descrição do campo personalizado aplicado em item do catálogo de serviço",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": false,
                      "name": "Nome do campo personalizado aplicado em item do catálogo de serviço",
                      "service_catalog": {
                        "item_id": 3,
                        "item_name": "Item de exemplo",
                        "area_id": 3,
                        "area_name": "Área de exemplo",
                        "catalog_id": 3,
                        "catalog_name": "Catálogo de exemplo"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador do campo personalizado"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Informa se o campo personalizado está ativo"
                    },
                    "applied_in": {
                      "type": "string",
                      "enum": [
                        "ticket",
                        "equipment",
                        "client",
                        "solicitant",
                        "services_catalog",
                        "services_catalogs_area",
                        "services_catalogs_item"
                      ],
                      "description": "Onde o campo personalizado está aplicado"
                    },
                    "description": {
                      "type": "string",
                      "description": "Descrição do campo personalizado"
                    },
                    "desk_ids": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      },
                      "default": [

                      ],
                      "description": "Em quais mesas de serviços o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a uma mesa, o campo deve ser do tipo applied_in ticket"
                    },
                    "equipment_type_id": {
                      "type": "integer",
                      "nullable": true,
                      "default": null,
                      "description": "Em qual tipo de equipamento o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a um tipo de equipamento, o campo deve ser do tipo applied_in equipment"
                    },
                    "menu_item": {
                      "type": "boolean",
                      "description": "Informa se o campo personalizado é um item de menu"
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do campo personalizado"
                    },
                    "service_catalog": {
                      "default": null,
                      "description": "Objeto que representa o contexto de aplicação do campo personalizado, contendo os dados do catálogo de serviço ao qual ele está vinculado.\nA estrutura varia de acordo com o valor do campo `applied_in`. Onde a presença de cada atributo depende do nível de aplicação do campo personalizado",
                      "oneOf": [
                        {
                          "type": "null",
                          "description": "Retorna NULL quando o campo personalizado não está aplicado em informações de catálogos de serviços"
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em um catálogo (`services_catalog`): inclui apenas informações do catálogo",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em uma área (`services_catalogs_area`): inclui informações do catálogo e da sua área",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            },
                            "area_id": {
                              "type": "integer",
                              "description": "ID da área de catálogo de serviços"
                            },
                            "area_name": {
                              "type": "string",
                              "description": "Nome da área de catálogo de serviços"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em um item (`services_catalogs_item`): inclui todos os dados anteriores, além das informações do item de catálogo",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            },
                            "area_id": {
                              "type": "integer",
                              "description": "ID da área de catálogo de serviços"
                            },
                            "area_name": {
                              "type": "string",
                              "description": "Nome da área de catálogo de serviços"
                            },
                            "item_id": {
                              "type": "integer",
                              "description": "ID do item de catálogo de serviços"
                            },
                            "item_name": {
                              "type": "string",
                              "description": "Nome do item de catálogo de serviços"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "active",
                    "applied_in",
                    "name",
                    "menu_item"
                  ]
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "examples": {
                  "name e applied_in são obrigatórios": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "name": [
                          "can't be blank"
                        ],
                        "applied_in": [
                          "can't be blank",
                          " is not a valid option. Applied in must be client, ticket, solicitant, equipment, services_catalog, services_catalogs_area or services_catalogs_item"
                        ]
                      }
                    }
                  },
                  "informou desk_ids em campos não aplicados em ticket": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "desk_ids": [
                          "Changing desk_ids is not allowed because the custom field is not applied in ticket"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Não informou um body pra requisição**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40003,
                  "message": "Missing required parameters. The request's body is invalid",
                  "detail": {
                    "error": [
                      "param is missing or the value is empty: entity"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40302`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para utilizar o parâmetro `applied_in` da forma como foi informado.\n\nPara criar um campo personalizado aplicado em `services_catalog`, `services_catalogs_area`, `services_catalogs_item`, `ticket` ou `equipment`, seu usuário deve possuir a **licença de Tickets**.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40302,
                      "message": "Access Denied - Unauthorized parameter usage",
                      "detail": {
                        "applied_in": [
                          "You cannot create entities applied in 'ticket'",
                          "A 'tickets' license is required to create entities applied in 'services_catalog', 'services_catalogs_area', 'services_catalogs_item', 'ticket' or 'equipment'"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar campos personalizados"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Nome do campo personalizado"
                  },
                  "applied_in": {
                    "type": "string",
                    "enum": [
                      "ticket",
                      "equipment",
                      "client",
                      "solicitant",
                      "services_catalog",
                      "services_catalogs_area",
                      "services_catalogs_item"
                    ],
                    "description": "Onde o campo personalizado será aplicado?"
                  },
                  "description": {
                    "type": "string",
                    "description": "Descrição do campo personalizado"
                  },
                  "desk_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "default": [

                    ],
                    "description": "Em quais mesas de serviços o campo personalizado será aplicado?\n\nPara aplicar um campo personalizado a uma mesa, o campo deve ser do tipo applied_in ticket"
                  },
                  "equipment_type_id": {
                    "type": "integer",
                    "nullable": true,
                    "default": null,
                    "description": "Em qual tipo de equipamento o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a um tipo de equipamento, o campo deve ser do tipo applied_in equipment"
                  },
                  "menu_item": {
                    "type": "boolean",
                    "description": "Informa se o campo personalizado é um item de menu"
                  },
                  "services_catalog_id": {
                    "type": "integer",
                    "nullable": true,
                    "default": null,
                    "description": "Em qual catálogo de serviços o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a um catálogo, o campo deve ser do tipo applied_in services_catalog"
                  },
                  "services_catalogs_area_id": {
                    "type": "integer",
                    "nullable": true,
                    "default": null,
                    "description": "Em qual área de catálogo de serviços o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a uma área de catálogo, o campo deve ser do tipo applied_in services_catalogs_area"
                  },
                  "services_catalogs_item_id": {
                    "type": "integer",
                    "nullable": true,
                    "default": null,
                    "description": "Em qual item de catálogo de serviços o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a um item de catálogo, o campo deve ser do tipo applied_in services_catalogs_item"
                  }
                },
                "required": [
                  "name",
                  "applied_in"
                ]
              },
              "examples": {
                "Exemplo aplicado em clientes": {
                  "summary": "Exemplo aplicado em clientes",
                  "value": {
                    "name": "Nome do campo aplicado em clientes",
                    "applied_in": "client",
                    "menu_item": true,
                    "description": "Descrição do campo aplicado em clientes"
                  }
                },
                "Exemplo aplicado em tickets": {
                  "summary": "Exemplo aplicado em tickets",
                  "value": {
                    "name": "Nome do campo personalizado aplicado em tickets",
                    "applied_in": "ticket",
                    "menu_item": true,
                    "description": "Descrição do campo personalizado aplicado em tickets",
                    "desk_ids": [
                      5
                    ]
                  }
                },
                "Exemplo aplicado em recursos": {
                  "summary": "Exemplo aplicado em recursos",
                  "value": {
                    "name": "Nome do campo personalizado aplicado em recursos",
                    "applied_in": "equipment",
                    "menu_item": false,
                    "description": "Descrição do campo personalizado aplicado em recursos",
                    "equipment_type_id": 2
                  }
                },
                "Exemplo aplicado em catálogo": {
                  "summary": "Exemplo aplicado em catálogo",
                  "value": {
                    "name": "Nome do campo personalizado aplicado em catálogo de serviço",
                    "applied_in": "services_catalog",
                    "menu_item": false,
                    "description": "Descrição do campo personalizado aplicado em catálogo de serviço",
                    "services_catalog_id": 3
                  }
                },
                "Exemplo aplicado em área do catálogo": {
                  "summary": "Exemplo aplicado em área do catálogo",
                  "value": {
                    "name": "Nome do campo personalizado aplicado em área do catálogo de serviço",
                    "applied_in": "services_catalogs_area",
                    "menu_item": false,
                    "description": "Descrição do campo personalizado aplicado em área do catálogo de serviço",
                    "services_catalogs_area_id": 3
                  }
                },
                "Exemplo aplicado em item do catálogo": {
                  "summary": "Exemplo aplicado em item do catálogo",
                  "value": {
                    "name": "Nome do campo personalizado aplicado em item do catálogo de serviço",
                    "applied_in": "services_catalogs_item",
                    "menu_item": false,
                    "description": "Descrição do campo personalizado aplicado em item do catálogo de serviço",
                    "services_catalogs_item_id": 3
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Campos personalizados aplicados em **tickets**:\n- Para aplicar o campo personalizado em *mesas de serviços específicas*, utilize o parâmetro `desk_ids`. Se `desk_ids` não for definido, o campo será aplicado em todas as mesas.\n\nCampos personalizados aplicados em **recursos**:\n- Para aplicar o campo personalizado em *um tipo específico de recurso*, utilize o parâmetro `equipment_type_id`. Se `equipment_type_id` não for definido, o campo será aplicado em todos os recursos."
        }
      }
    },
    "/entities/{id}": {
      "get": {
        "summary": "Exibir campo personalizado",
        "tags": [
          "Campos personalizados"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do campo personalizado",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe informações detalhadas sobre um determinado campo personalizado.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          }
        ],
        "operationId": "get_entities_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "Campo aplicado em ticket": {
                    "value": {
                      "id": 4,
                      "active": true,
                      "applied_in": "ticket",
                      "description": "Campo personalizado de menu",
                      "desk_ids": [
                        4
                      ],
                      "equipment_type_id": null,
                      "menu_item": true,
                      "name": "Campo personalizado aplicado em tickets",
                      "service_catalog": null
                    }
                  },
                  "Campo aplicado em recurso": {
                    "value": {
                      "id": 3,
                      "active": true,
                      "applied_in": "equipment",
                      "description": "Campo personalizado de menu",
                      "desk_ids": [

                      ],
                      "equipment_type_id": 1,
                      "menu_item": true,
                      "name": "Campo personalizado aplicado em recursos",
                      "service_catalog": null
                    }
                  },
                  "Campo aplicado em cliente": {
                    "value": {
                      "id": 2,
                      "active": true,
                      "applied_in": "client",
                      "description": "Campo personalizado de menu",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": true,
                      "name": "Campo personalizado aplicado em clientes",
                      "service_catalog": null
                    }
                  },
                  "Campo aplicado em catálogo de serviços": {
                    "value": {
                      "id": 5,
                      "active": true,
                      "applied_in": "services_catalog",
                      "description": "Campo personalizado de menu",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": false,
                      "name": "Campo personalizado aplicado em catálogo de serviços",
                      "service_catalog": {
                        "catalog_id": 2,
                        "catalog_name": "Catálogo com campos personalizados"
                      }
                    }
                  },
                  "Campo aplicado em área de catálogo de serviços": {
                    "value": {
                      "id": 6,
                      "active": true,
                      "applied_in": "services_catalogs_area",
                      "description": "Campo personalizado de menu",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": false,
                      "name": "Campo personalizado aplicado em área de catálogo de serviços",
                      "service_catalog": {
                        "area_id": 2,
                        "area_name": "Área de catálogo com campos personalizados",
                        "catalog_id": 2,
                        "catalog_name": "Catálogo com campos personalizados"
                      }
                    }
                  },
                  "Campo aplicado em item de catálogo de serviços": {
                    "value": {
                      "id": 7,
                      "active": true,
                      "applied_in": "services_catalogs_item",
                      "description": "Campo personalizado de menu",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": false,
                      "name": "Campo personalizado aplicado em item de catálogo de serviços",
                      "service_catalog": {
                        "item_id": 2,
                        "item_name": "Item de catálogo com campos personalizados",
                        "area_id": 2,
                        "area_name": "Área de catálogo com campos personalizados",
                        "catalog_id": 2,
                        "catalog_name": "Catálogo com campos personalizados"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador do campo personalizado"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Informa se o campo personalizado está ativo"
                    },
                    "applied_in": {
                      "type": "string",
                      "enum": [
                        "ticket",
                        "equipment",
                        "client",
                        "solicitant",
                        "services_catalog",
                        "services_catalogs_area",
                        "services_catalogs_item"
                      ],
                      "description": "Onde o campo personalizado está aplicado"
                    },
                    "description": {
                      "type": "string",
                      "description": "Descrição do campo personalizado"
                    },
                    "desk_ids": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      },
                      "default": [

                      ],
                      "description": "Em quais mesas de serviços o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a uma mesa, o campo deve ser do tipo applied_in ticket"
                    },
                    "equipment_type_id": {
                      "type": "integer",
                      "nullable": true,
                      "default": null,
                      "description": "Em qual tipo de equipamento o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a um tipo de equipamento, o campo deve ser do tipo applied_in equipment"
                    },
                    "menu_item": {
                      "type": "boolean",
                      "description": "Informa se o campo personalizado é um item de menu"
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do campo personalizado"
                    },
                    "service_catalog": {
                      "default": null,
                      "description": "Objeto que representa o contexto de aplicação do campo personalizado, contendo os dados do catálogo de serviço ao qual ele está vinculado.\nA estrutura varia de acordo com o valor do campo `applied_in`. Onde a presença de cada atributo depende do nível de aplicação do campo personalizado",
                      "oneOf": [
                        {
                          "type": "null",
                          "description": "Retorna NULL quando o campo personalizado não está aplicado em informações de catálogos de serviços"
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em um catálogo (`services_catalog`): inclui apenas informações do catálogo",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em uma área (`services_catalogs_area`): inclui informações do catálogo e da sua área",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            },
                            "area_id": {
                              "type": "integer",
                              "description": "ID da área de catálogo de serviços"
                            },
                            "area_name": {
                              "type": "string",
                              "description": "Nome da área de catálogo de serviços"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em um item (`services_catalogs_item`): inclui todos os dados anteriores, além das informações do item de catálogo",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            },
                            "area_id": {
                              "type": "integer",
                              "description": "ID da área de catálogo de serviços"
                            },
                            "area_name": {
                              "type": "string",
                              "description": "Nome da área de catálogo de serviços"
                            },
                            "item_id": {
                              "type": "integer",
                              "description": "ID do item de catálogo de serviços"
                            },
                            "item_name": {
                              "type": "string",
                              "description": "Nome do item de catálogo de serviços"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "active",
                    "applied_in",
                    "name",
                    "menu_item"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Campo personalizado não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Entity with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **O ID do campo personalizado informado está inválido**\n\nLembre-se que o ID informado deve ser um número inteiro",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42205,
                  "message": "Problems with path parameters values",
                  "detail": {
                    "id": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Atualizar campo personalizado",
        "tags": [
          "Campos personalizados"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do campo personalizado",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Atualiza informações sobre um determinado campo personalizado.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_entities_id",
        "responses": {
          "200": {
            "description": "### **Campo personalizado atualizado com sucesso**",
            "content": {
              "application/json": {
                "examples": {
                  "Exemplo aplicado em clientes": {
                    "value": {
                      "id": 2,
                      "active": false,
                      "applied_in": "client",
                      "description": "Nova descrição",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": false,
                      "name": "Novo nome",
                      "service_catalog": null
                    }
                  },
                  "Exemplo aplicado em tickets": {
                    "value": {
                      "id": 4,
                      "active": true,
                      "applied_in": "ticket",
                      "description": "Nova descrição do campo personalizado aplicado em tickets",
                      "desk_ids": [
                        5
                      ],
                      "equipment_type_id": null,
                      "menu_item": true,
                      "name": "Novo nome do campo personalizado aplicado em tickets",
                      "service_catalog": null
                    }
                  },
                  "Exemplo aplicado em recursos": {
                    "value": {
                      "id": 3,
                      "active": true,
                      "applied_in": "equipment",
                      "description": "Nova descrição do campo personalizado aplicado em recursos",
                      "desk_ids": [

                      ],
                      "equipment_type_id": 3,
                      "menu_item": false,
                      "name": "Novo nome do campo personalizado aplicado em recursos",
                      "service_catalog": null
                    }
                  },
                  "Exemplo aplicado em catálogo": {
                    "value": {
                      "id": 5,
                      "active": true,
                      "applied_in": "services_catalog",
                      "description": "Nova descrição do campo personalizado aplicado em catálogo de serviços",
                      "desk_ids": [

                      ],
                      "equipment_type_id": null,
                      "menu_item": false,
                      "name": "Novo nome do campo personalizado aplicado em catálogo",
                      "service_catalog": {
                        "catalog_id": 2,
                        "catalog_name": "Catálogo com campos personalizados"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador do campo personalizado"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Informa se o campo personalizado está ativo"
                    },
                    "applied_in": {
                      "type": "string",
                      "enum": [
                        "ticket",
                        "equipment",
                        "client",
                        "solicitant",
                        "services_catalog",
                        "services_catalogs_area",
                        "services_catalogs_item"
                      ],
                      "description": "Onde o campo personalizado está aplicado"
                    },
                    "description": {
                      "type": "string",
                      "description": "Descrição do campo personalizado"
                    },
                    "desk_ids": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      },
                      "default": [

                      ],
                      "description": "Em quais mesas de serviços o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a uma mesa, o campo deve ser do tipo applied_in ticket"
                    },
                    "equipment_type_id": {
                      "type": "integer",
                      "nullable": true,
                      "default": null,
                      "description": "Em qual tipo de equipamento o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a um tipo de equipamento, o campo deve ser do tipo applied_in equipment"
                    },
                    "menu_item": {
                      "type": "boolean",
                      "description": "Informa se o campo personalizado é um item de menu"
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do campo personalizado"
                    },
                    "service_catalog": {
                      "default": null,
                      "description": "Objeto que representa o contexto de aplicação do campo personalizado, contendo os dados do catálogo de serviço ao qual ele está vinculado.\nA estrutura varia de acordo com o valor do campo `applied_in`. Onde a presença de cada atributo depende do nível de aplicação do campo personalizado",
                      "oneOf": [
                        {
                          "type": "null",
                          "description": "Retorna NULL quando o campo personalizado não está aplicado em informações de catálogos de serviços"
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em um catálogo (`services_catalog`): inclui apenas informações do catálogo",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em uma área (`services_catalogs_area`): inclui informações do catálogo e da sua área",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            },
                            "area_id": {
                              "type": "integer",
                              "description": "ID da área de catálogo de serviços"
                            },
                            "area_name": {
                              "type": "string",
                              "description": "Nome da área de catálogo de serviços"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "description": "Se aplicado em um item (`services_catalogs_item`): inclui todos os dados anteriores, além das informações do item de catálogo",
                          "properties": {
                            "catalog_id": {
                              "type": "integer",
                              "description": "ID do catálogo de serviço"
                            },
                            "catalog_name": {
                              "type": "string",
                              "description": "Nome do catálogo de serviço"
                            },
                            "area_id": {
                              "type": "integer",
                              "description": "ID da área de catálogo de serviços"
                            },
                            "area_name": {
                              "type": "string",
                              "description": "Nome da área de catálogo de serviços"
                            },
                            "item_id": {
                              "type": "integer",
                              "description": "ID do item de catálogo de serviços"
                            },
                            "item_name": {
                              "type": "string",
                              "description": "Nome do item de catálogo de serviços"
                            }
                          }
                        }
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "active",
                    "applied_in",
                    "name",
                    "menu_item"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Campo personalizado não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Entity with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "examples": {
                  "Não é possível alterar equipment_type_id em ticket": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "equipment_type_id": [
                          "Changing equipment_type_id is not allowed because the custom field is not applied in equipment"
                        ]
                      }
                    }
                  },
                  "Não é possível alterar desk_id em client": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "desk_ids": [
                          "Changing desk_ids is not allowed because the custom field is not applied in ticket"
                        ]
                      }
                    }
                  },
                  "Não é possível alterar menu_item em catálogo": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "menu_item": [
                          "Changing menu_item is not allowed when the custom field is applied in solicitant or catalog"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Problemas com os parâmetros**\nEssa resposta significa que os parâmetros estão inválidos ou não foi informado um body para a requisição",
            "content": {
              "application/json": {
                "examples": {
                  "Não é possível alterar applied_in": {
                    "value": {
                      "error_code": 40001,
                      "message": "Unknown parameters",
                      "detail": {
                        "error": [
                          "found unpermitted parameter: :applied_in"
                        ]
                      }
                    }
                  },
                  "Não foi informado body para a requisição": {
                    "value": {
                      "error_code": 40003,
                      "message": "Missing required parameters. The request's body is invalid",
                      "detail": {
                        "error": [
                          "param is missing or the value is empty: entity"
                        ]
                      }
                    }
                  },
                  "Não é possível alterar services_catalog_id": {
                    "value": {
                      "error_code": 40001,
                      "message": "Unknown parameters",
                      "detail": {
                        "error": [
                          "found unpermitted parameter: :services_catalog_id"
                        ]
                      }
                    }
                  },
                  "Não é possível alterar services_catalogs_area_id": {
                    "value": {
                      "error_code": 40001,
                      "message": "Unknown parameters",
                      "detail": {
                        "error": [
                          "found unpermitted parameter: :services_catalogs_area_id"
                        ]
                      }
                    }
                  },
                  "Não é possível alterar services_catalogs_item_id": {
                    "value": {
                      "error_code": 40001,
                      "message": "Unknown parameters",
                      "detail": {
                        "error": [
                          "found unpermitted parameter: :services_catalogs_item_id"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar campos personalizados"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Novo nome do campo personalizado"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Ativar ou inativar um campo personalizado"
                  },
                  "description": {
                    "type": "string",
                    "description": "Nova descrição do campo personalizado"
                  },
                  "desk_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "default": [

                    ],
                    "description": "Em quais mesas de serviços o campo personalizado será aplicado?\n\nPara aplicar um campo personalizado a uma mesa, o campo deve ser do tipo applied_in ticket"
                  },
                  "equipment_type_id": {
                    "type": "integer",
                    "nullable": true,
                    "default": null,
                    "description": "Em qual tipo de equipamento o campo personalizado está aplicado.\n\nPara aplicar um campo personalizado a um tipo de equipamento, o campo deve ser do tipo applied_in equipment"
                  },
                  "menu_item": {
                    "type": "boolean",
                    "description": "Informa se o campo personalizado é um item de menu"
                  }
                }
              },
              "examples": {
                "Exemplo aplicado em clientes": {
                  "summary": "Exemplo aplicado em clientes",
                  "value": {
                    "name": "Novo nome",
                    "active": false,
                    "description": "Nova descrição",
                    "menu_item": false
                  }
                },
                "Exemplo aplicado em tickets": {
                  "summary": "Exemplo aplicado em tickets",
                  "value": {
                    "name": "Novo nome do campo personalizado aplicado em tickets",
                    "menu_item": true,
                    "description": "Nova descrição do campo personalizado aplicado em tickets",
                    "desk_ids": [
                      5
                    ]
                  }
                },
                "Exemplo aplicado em recursos": {
                  "summary": "Exemplo aplicado em recursos",
                  "value": {
                    "name": "Novo nome do campo personalizado aplicado em recursos",
                    "menu_item": false,
                    "description": "Nova descrição do campo personalizado aplicado em recursos",
                    "equipment_type_id": 3
                  }
                },
                "Exemplo aplicado em catálogo": {
                  "summary": "Exemplo aplicado em catálogo",
                  "value": {
                    "name": "Novo nome do campo personalizado aplicado em catálogo",
                    "description": "Nova descrição do campo personalizado aplicado em catálogo de serviços"
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/entities/{entity_id}/fields": {
      "get": {
        "summary": "Listar campos",
        "tags": [
          "Campos personalizados"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "entity_id",
            "in": "path",
            "description": "ID do campo personalizado",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "required",
            "in": "query",
            "required": false,
            "description": "Filtra por campos obrigatórios ou não obrigatórios",
            "examples": {
              "Ativos": {
                "value": true
              },
              "Inativos": {
                "value": false
              }
            },
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "field_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "text",
                "text_area",
                "currency",
                "phone",
                "email",
                "link",
                "date",
                "single_select",
                "checkbox"
              ]
            },
            "description": "Filtra pelo tipo do campo"
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "description": "Busca os campos pelo nome"
          }
        ],
        "description": "Lista os campos de um determinado campo personalizado.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_entities_entity_id_fields",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 10,
                    "field_type": "text",
                    "index": 0,
                    "name": "Nome do campo personalizado",
                    "required": false
                  },
                  {
                    "id": 11,
                    "field_type": "text_area",
                    "index": 1,
                    "name": "Campo de área de texto",
                    "required": false
                  },
                  {
                    "id": 12,
                    "field_type": "email",
                    "index": 2,
                    "name": "Campo de email",
                    "required": false
                  },
                  {
                    "id": 13,
                    "field_type": "currency",
                    "index": 3,
                    "name": "Campo de moeda",
                    "required": false
                  },
                  {
                    "id": 14,
                    "field_type": "phone",
                    "index": 4,
                    "name": "Campo de telefone",
                    "required": false
                  },
                  {
                    "id": 15,
                    "field_type": "date",
                    "index": 5,
                    "name": "Campo de data",
                    "required": false
                  },
                  {
                    "id": 16,
                    "field_type": "link",
                    "index": 6,
                    "name": "Campo de link",
                    "required": false
                  },
                  {
                    "id": 17,
                    "field_type": "single_select",
                    "index": 7,
                    "name": "Campo de Seleção única",
                    "required": false
                  },
                  {
                    "id": 18,
                    "field_type": "checkbox",
                    "index": 8,
                    "name": "Campo de Checkbox",
                    "required": false
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do campo"
                      },
                      "field_type": {
                        "type": "string",
                        "enum": [
                          "email",
                          "date",
                          "currency",
                          "phone",
                          "checkbox",
                          "text",
                          "text_area",
                          "single_select",
                          "link"
                        ],
                        "description": "Tipos de campo: \"**email**\", \"**date**\", \"**currency**\", \"**phone**\", \"**checkbox**\", \"**text**\", \"**text_area**\", \"**single_select**\", \"**link**\""
                      },
                      "index": {
                        "type": "integer",
                        "description": "Ordem na qual os campos são exibidos na interface do tiflux"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do campo personalizado"
                      },
                      "required": {
                        "type": "boolean",
                        "description": "Informa se o campo personalizado é de preenchimento obrigatório"
                      }
                    },
                    "required": [
                      "id",
                      "field_type",
                      "index",
                      "name",
                      "required"
                    ]
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Campo personalizado não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Entity with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Opção inválida de field_type": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "field_type": [
                          "0 is not a valid option. Field type must be 'text', 'text_area', 'currency', 'phone', 'email', 'link', 'date', 'single_select' or 'checkbox'"
                        ]
                      }
                    }
                  },
                  "Opção inválida de required": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "required": [
                          "Verdadeiro! is not a valid option. Required must be 'true' or 'false'"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          }
        ]
      },
      "post": {
        "summary": "Criar campo",
        "tags": [
          "Campos personalizados"
        ],
        "description": "Cria um campo em um determinado campo personalizado.",
        "parameters": [
          {
            "name": "entity_id",
            "in": "path",
            "description": "ID do campo personalizado",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_entities_entity_id_fields",
        "responses": {
          "201": {
            "description": "### **Campo criado com sucesso**",
            "content": {
              "application/json": {
                "examples": {
                  "Criando campo do tipo texto": {
                    "value": {
                      "id": 64,
                      "field_type": "text",
                      "index": 9,
                      "name": "Novo campo do tipo texto",
                      "options": [

                      ],
                      "required": true
                    }
                  },
                  "Criando campo com opções": {
                    "value": {
                      "id": 65,
                      "field_type": "single_select",
                      "index": 9,
                      "name": "Novo campo do tipo seleção única",
                      "options": [
                        {
                          "id": 36,
                          "null_option": false,
                          "value": "Opção 1"
                        },
                        {
                          "id": 37,
                          "null_option": false,
                          "value": "Opção 2"
                        }
                      ],
                      "required": false
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador do campo"
                    },
                    "field_type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "date",
                        "currency",
                        "phone",
                        "checkbox",
                        "text",
                        "text_area",
                        "single_select",
                        "link"
                      ],
                      "description": "Tipos de campo: \"**email**\", \"**date**\", \"**currency**\", \"**phone**\", \"**checkbox**\", \"**text**\", \"**text_area**\", \"**single_select**\", \"**link**\""
                    },
                    "index": {
                      "type": "integer",
                      "description": "Ordem na qual os campos são exibidos na interface do tiflux"
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do campo"
                    },
                    "required": {
                      "type": "boolean",
                      "description": "Informa se o campo é de preenchimento obrigatório"
                    },
                    "options": {
                      "description": "Lista com valores das opções criadas",
                      "default": [

                      ],
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador da opção"
                          },
                          "null_option": {
                            "type": "boolean",
                            "description": "Informa se é uma opção padrão cadastrada pelo sistema"
                          },
                          "value": {
                            "type": "string",
                            "description": "Valor da opção"
                          }
                        },
                        "required": [
                          "id",
                          "null_option",
                          "value"
                        ]
                      }
                    }
                  },
                  "required": [
                    "id",
                    "field_type",
                    "index",
                    "name",
                    "required"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Campo personalizado não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Entity with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Foi informado um field_type inválido": {
                    "value": {
                      "error_code": 42203,
                      "message": "Problems to validate body attributes in database",
                      "detail": {
                        "error": [
                          "'0' is not a valid field_type"
                        ]
                      }
                    }
                  },
                  "Cadastrar opções em campo != single_select e checkbox": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "entity_field_options.base": [
                          "Only checkbox and single_select field types can have options"
                        ]
                      }
                    }
                  },
                  "Cadastrar campo com opções duplicadas": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "options": [
                          "Cannot create options with the same value"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Problemas com os parâmetros**\nEssa resposta significa que os parâmetros estão inválidos ou não foi informado um body para a requisição",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40003,
                  "message": "Missing required parameters. The request's body is invalid",
                  "detail": {
                    "error": [
                      "param is missing or the value is empty: entity_field"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar campos personalizados"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Nome do campo"
                  },
                  "field_type": {
                    "type": "string",
                    "enum": [
                      "email",
                      "date",
                      "currency",
                      "phone",
                      "checkbox",
                      "text",
                      "text_area",
                      "single_select",
                      "link"
                    ],
                    "description": "Tipos de campo aceitos: \"**email**\", \"**date**\", \"**currency**\", \"**phone**\", \"**checkbox**\", \"**text**\", \"**text_area**\", \"**single_select**\", \"**link**\""
                  },
                  "required": {
                    "type": "boolean",
                    "description": "Informa se o campo é de preenchimento obrigatório",
                    "default": false
                  },
                  "options": {
                    "description": "Lista com valores das opções que serão criadas.\n\nSó é possível criar opções em campos do tipo checkbox e single_select",
                    "default": [

                    ],
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "string",
                          "description": "Valor da opção"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "name",
                  "field_type"
                ]
              },
              "examples": {
                "Criando campo do tipo texto": {
                  "summary": "Criando campo do tipo texto",
                  "value": {
                    "name": "Novo campo do tipo texto",
                    "field_type": "text",
                    "required": true
                  }
                },
                "Criando campo com opções": {
                  "summary": "Criando campo com opções",
                  "value": {
                    "name": "Novo campo do tipo seleção única",
                    "field_type": "single_select",
                    "options": [
                      {
                        "value": "Opção 1"
                      },
                      {
                        "value": "Opção 2"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Ao criar um campo do tipo *single_select* ou *checkbox*, é possível cadastrar opções para eles utilizando o parâmetro `options`. Caso `options` não seja informado, será cadastrada uma opção \"*Padrão*\" para eles."
        }
      }
    },
    "/entities/{entity_id}/fields/{id}": {
      "get": {
        "summary": "Exibir campo",
        "tags": [
          "Campos personalizados"
        ],
        "description": "Exibe informações detalhadas de um campo, de um determinado campo personalizado.",
        "parameters": [
          {
            "name": "entity_id",
            "in": "path",
            "description": "ID do campo personalizado",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do campo",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          }
        ],
        "operationId": "get_entities_entity_id_fields_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 10,
                  "field_type": "text",
                  "index": 0,
                  "name": "Nome do campo personalizado",
                  "required": false
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador do campo"
                    },
                    "field_type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "date",
                        "currency",
                        "phone",
                        "checkbox",
                        "text",
                        "text_area",
                        "single_select",
                        "link"
                      ],
                      "description": "Tipos de campo: \"**email**\", \"**date**\", \"**currency**\", \"**phone**\", \"**checkbox**\", \"**text**\", \"**text_area**\", \"**single_select**\", \"**link**\""
                    },
                    "index": {
                      "type": "integer",
                      "description": "Ordem na qual os campos são exibidos na interface do tiflux"
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do campo personalizado"
                    },
                    "required": {
                      "type": "boolean",
                      "description": "Informa se o campo personalizado é de preenchimento obrigatório"
                    }
                  },
                  "required": [
                    "id",
                    "field_type",
                    "index",
                    "name",
                    "required"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Campo personalizado ou seu campo não foram encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Entity with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "id precisa ser um número": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "id": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "entity_id precisa ser um número": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "entity_id": [
                          "is not a number"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Atualizar campo",
        "tags": [
          "Campos personalizados"
        ],
        "description": "Atualiza um campo, de um determinado campo personalizado.",
        "parameters": [
          {
            "name": "entity_id",
            "in": "path",
            "description": "ID do campo personalizado",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do campo",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_entities_entity_id_fields_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 10,
                  "field_type": "text",
                  "index": 0,
                  "name": "Novo nome",
                  "required": false
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador do campo"
                    },
                    "field_type": {
                      "type": "string",
                      "enum": [
                        "email",
                        "date",
                        "currency",
                        "phone",
                        "checkbox",
                        "text",
                        "text_area",
                        "single_select",
                        "link"
                      ],
                      "description": "Tipos de campo: \"**email**\", \"**date**\", \"**currency**\", \"**phone**\", \"**checkbox**\", \"**text**\", \"**text_area**\", \"**single_select**\", \"**link**\""
                    },
                    "index": {
                      "type": "integer",
                      "description": "Ordem na qual os campos são exibidos na interface do tiflux"
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do campo personalizado"
                    },
                    "required": {
                      "type": "boolean",
                      "description": "Informa se o campo personalizado é de preenchimento obrigatório"
                    }
                  },
                  "required": [
                    "id",
                    "field_type",
                    "index",
                    "name",
                    "required"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Campo personalizado ou seu campo não foram encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Entity with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Problemas com os parâmetros**\nEssa resposta significa que os parâmetros estão inválidos ou não foi informado um body para a requisição",
            "content": {
              "application/json": {
                "examples": {
                  "Não é possível alterar field_type": {
                    "value": {
                      "error_code": 40001,
                      "message": "Unknown parameters",
                      "detail": {
                        "error": [
                          "found unpermitted parameter: :field_type"
                        ]
                      }
                    }
                  },
                  "Não foi informado body para a requisição": {
                    "value": {
                      "error_code": 40003,
                      "message": "Missing required parameters. The request's body is invalid",
                      "detail": {
                        "error": [
                          "param is missing or the value is empty: entity_field"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar campos personalizados"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Novo nome do campo"
                  },
                  "required": {
                    "type": "boolean",
                    "description": "Informa se o campo é de preenchimento obrigatório"
                  }
                }
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "name": "Novo nome",
                    "required": false
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/entity_fields/{entity_field_id}/options": {
      "get": {
        "summary": "Listar opções",
        "tags": [
          "Campos personalizados"
        ],
        "description": "Caso um campo seja do tipo seleção única ou checkbox, ele terá opções de escolhas cadastradas para preenchimento.\n\nEste método lista as opções de um determinado campo.",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "entity_field_id",
            "in": "path",
            "description": "ID do campo",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "value",
            "in": "query",
            "description": "Pesquisar uma opção pelo seu valor",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          }
        ],
        "operationId": "get_entity_fields_entity_field_id_options",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 6,
                    "null_option": false,
                    "value": "Opção 1"
                  },
                  {
                    "id": 7,
                    "null_option": false,
                    "value": "Opção 2"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador da opção"
                      },
                      "null_option": {
                        "type": "boolean",
                        "description": "Informa se é uma opção padrão cadastrada pelo sistema"
                      },
                      "value": {
                        "type": "string",
                        "description": "Valor da opção"
                      }
                    },
                    "required": [
                      "id",
                      "null_option",
                      "value"
                    ]
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Campo não foi encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find EntityField with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "entity_field_id": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Criar opção",
        "tags": [
          "Campos personalizados"
        ],
        "description": "Caso um campo seja do tipo seleção única ou checkbox, você pode criar opções de escolhas para preenchimento.\n\nEste método cria uma opção para um determinado campo.",
        "parameters": [
          {
            "name": "entity_field_id",
            "in": "path",
            "description": "ID do campo",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_entity_fields_entity_field_id_options",
        "responses": {
          "201": {
            "description": "### **Opção criada com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 39,
                  "null_option": false,
                  "value": "Nova opção de escolha"
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador da opção"
                    },
                    "null_option": {
                      "type": "boolean",
                      "description": "Informa se é uma opção padrão cadastrada pelo sistema"
                    },
                    "value": {
                      "type": "string",
                      "description": "Valor da opção"
                    }
                  },
                  "required": [
                    "id",
                    "null_option",
                    "value"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Campo não foi encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find EntityField with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Valor de entity_field_id inválido": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "entity_field_id": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Criando opção em tipo de campo não permitido": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "base": [
                          "Only checkbox and single_select field types can have options"
                        ]
                      }
                    }
                  },
                  "Não é possível cadastrar uma opção duplicada": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "value": [
                          "Cannot create options with the same value"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar campos personalizados"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "description": "Valor da opção"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "value": "Nova opção de escolha"
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/entity_fields/{entity_field_id}/options/{id}": {
      "put": {
        "summary": "Atualizar opção",
        "tags": [
          "Campos personalizados"
        ],
        "description": "Caso um campo seja do tipo seleção única ou checkbox, ele terá opções de escolhas cadastradas para preenchimento.\n\nEste método atualiza uma opção de um determinado campo.",
        "parameters": [
          {
            "name": "entity_field_id",
            "in": "path",
            "description": "ID do campo",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID da opção",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_entity_fields_entity_field_id_options_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 7,
                  "null_option": false,
                  "value": "Novo valor da opção"
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador da opção"
                    },
                    "null_option": {
                      "type": "boolean",
                      "description": "Informa se é uma opção padrão cadastrada pelo sistema"
                    },
                    "value": {
                      "type": "string",
                      "description": "Valor da opção"
                    }
                  },
                  "required": [
                    "id",
                    "null_option",
                    "value"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Campo ou opção não foram encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find EntityField with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Valor de entity_field_id inválido": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "entity_field_id": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Não é possível cadastrar uma opção duplicada": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "value": [
                          "Cannot create options with the same value"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar campos personalizados"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "description": "Valor da opção"
                  }
                },
                "required": [
                  "value"
                ]
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "value": "Novo valor da opção"
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/equipment-groups": {
      "get": {
        "summary": "Listar grupos de recurso",
        "tags": [
          "Grupos de Recurso"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "client_id",
            "in": "query",
            "required": false,
            "description": "Filtrar por cliente",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista os grupos de recurso que existem na sua organização. Pode ser filtrado por cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_equipment-groups",
        "responses": {
          "200": {
            "description": "Filtrado por cliente",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 21,
                    "client": {
                      "id": 20,
                      "name": "Hettinger-Stiedemann"
                    },
                    "name": "Equipment Group"
                  },
                  {
                    "id": 22,
                    "client": {
                      "id": 20,
                      "name": "Hettinger-Stiedemann"
                    },
                    "name": "Equipment Group"
                  },
                  {
                    "id": 20,
                    "client": {
                      "id": 20,
                      "name": "Hettinger-Stiedemann"
                    },
                    "name": "Hettinger-Stiedemann"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do grupo de recurso"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do grupo de recurso"
                      },
                      "client": {
                        "type": "object",
                        "description": "Dados do cliente",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do cliente"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do cliente"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "client"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "limit": [
                      "must be greater than 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar recursos"
          },
          {
            "color": "red",
            "label": "Gerenciar recursos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/equipment-types": {
      "get": {
        "summary": "Listar tipos de recurso",
        "tags": [
          "Tipos de Recurso"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filtra a busca por tipos de recurso cujo nome contém o valor informado",
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "required": false,
            "examples": {
              "0": {
                "value": "",
                "description": "Quando não informado, retorna todos os tipos de recurso"
              },
              "1": {
                "value": "pr",
                "description": "Retorna tipos de recurso com nomes que contenham *pr*, como: \"**Pr**ojetor\", \"Im**pr**essora\" ou \"Com**pr**essor\""
              }
            }
          }
        ],
        "description": "Lista os tipos de recurso que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_equipment-types",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 2,
                    "name": "Effertz Group"
                  },
                  {
                    "id": 1,
                    "name": "Legros-Zemlak"
                  },
                  {
                    "id": 5,
                    "name": "Mosciski, Crooks and Keeling"
                  },
                  {
                    "id": 3,
                    "name": "Rath, Moore and Waelchi"
                  },
                  {
                    "id": 4,
                    "name": "Smitham Inc"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do tipo de recurso"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do tipo de recurso"
                      }
                    },
                    "required": [
                      "id",
                      "name"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "name": [
                      "is too long (maximum is 255 characters)"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar recursos"
          },
          {
            "color": "red",
            "label": "Gerenciar recursos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/equipments": {
      "get": {
        "summary": "Listar recursos",
        "tags": [
          "Recursos"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "client_id",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "required": false,
            "description": "Filtrar os recursos por ID do cliente",
            "examples": {
              "": {
                "value": ""
              },
              "1": {
                "value": 1
              }
            }
          },
          {
            "name": "include_manufacturer",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false,
            "description": "Com esse parâmetro é possível incluir as informações de fabricante. Ao informar esse parâmetro como **true**, será adicionado um atributo de nome `manufacturer` no corpo da resposta dessa requisição",
            "examples": {
              "": {
                "value": ""
              },
              "Ativas": {
                "value": true
              },
              "Inativas": {
                "value": false
              }
            }
          },
          {
            "name": "include_system",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false,
            "description": "Com esse parâmetro é possível incluir as informações de sistema do recurso. Ao informar esse parâmetro como **true**, será adicionado um atributo de nome `system` no corpo da resposta dessa requisição",
            "examples": {
              "": {
                "value": ""
              },
              "Ativas": {
                "value": true
              },
              "Inativas": {
                "value": false
              }
            }
          }
        ],
        "description": "Lista os recursos que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_equipments",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "acquisition_date": "2024-01-25",
                    "agent": {
                      "email": "admin@gmail.com",
                      "phone": "+15029999999",
                      "ramal": "2",
                      "user": "Admin",
                      "version": "1.1.1.1"
                    },
                    "client": {
                      "id": 21,
                      "name": "Kuhic-Kuhlman"
                    },
                    "equipment_group": {
                      "id": 24,
                      "name": "Equipment Group"
                    },
                    "equipment_type": {
                      "id": 6,
                      "name": "Jerde Inc"
                    },
                    "ipv4": "192.168.0.1",
                    "last_connection": "2024-05-15T19:01:14Z",
                    "last_seen": "2024-06-25T11:04:39+00:00",
                    "manufacturer": {
                      "serial": "Chassis Serial Number",
                      "name": "System manufacturer",
                      "model": "System Product Name"
                    },
                    "monitoring_active": false,
                    "name": "Equipment for tests",
                    "network_name": "PC-TEST",
                    "online": false,
                    "splashtop": false,
                    "system": {
                      "name": "Microsoft Windows 10 Pro",
                      "version": "10.0.16299",
                      "kernel": "64 bits",
                      "service_pack": ""
                    },
                    "tipeertopeer": false,
                    "updated_by_id": 1,
                    "user": "admin",
                    "warranty_date": "2034-01-24"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do recurso"
                      },
                      "acquisition_date": {
                        "type": "string",
                        "description": "Data de aquisição - Formato: YYYY-MM-DD"
                      },
                      "agent": {
                        "type": "object",
                        "description": "Informações do agente instalado na máquina",
                        "properties": {
                          "email": {
                            "type": "string",
                            "description": "Email do solicitante"
                          },
                          "phone": {
                            "type": "string",
                            "description": "Telefone do solicitante"
                          },
                          "ramal": {
                            "type": "string",
                            "description": "Ramal do solicitante"
                          },
                          "user": {
                            "type": "string",
                            "description": "Nome do solicitante"
                          },
                          "version": {
                            "type": "string",
                            "description": "Versão do agente instalada"
                          }
                        },
                        "required": [
                          "email",
                          "phone",
                          "ramal",
                          "user",
                          "version"
                        ]
                      },
                      "client": {
                        "type": "object",
                        "description": "Cliente vinculado ao recurso",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do cliente"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do cliente"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "equipment_group": {
                        "type": "object",
                        "description": "Grupo de recurso",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do grupo"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do grupo"
                          }
                        },
                        "nullable": true
                      },
                      "equipment_type": {
                        "type": "object",
                        "description": "Tipo de recurso",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do tipo"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do tipo"
                          }
                        },
                        "nullable": true
                      },
                      "ipv4": {
                        "type": "string",
                        "description": "Informação do endereço IP"
                      },
                      "last_connection": {
                        "type": "string",
                        "description": "Data e hora do último acesso ao recurso"
                      },
                      "last_seen": {
                        "type": "string",
                        "description": "Última att?"
                      },
                      "manufacturer": {
                        "type": "object",
                        "description": "Informações do fabricante do recurso. Exibido apenas com `include_manufacturer=true`",
                        "properties": {
                          "serial": {
                            "type": "string",
                            "description": "TAG"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome"
                          },
                          "model": {
                            "type": "string",
                            "description": "Modelo"
                          }
                        },
                        "nullable": true
                      },
                      "monitoring_active": {
                        "type": "boolean",
                        "description": "O monitoramento está ativo?"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do recurso cadastrado no tiflux"
                      },
                      "network_name": {
                        "type": "string",
                        "description": "Nome de rede do computador"
                      },
                      "online": {
                        "type": "boolean",
                        "description": "O recurso está online?"
                      },
                      "splashtop": {
                        "type": "boolean",
                        "description": "O recurso possui Splashtop instalado e disponível para acesso?"
                      },
                      "system": {
                        "type": "object",
                        "description": "Informações do sistema do recurso. Exibido apenas com `include_system=true`",
                        "properties": {
                          "name": {
                            "type": "string",
                            "description": "Nome"
                          },
                          "version": {
                            "type": "string",
                            "description": "Versão"
                          },
                          "kernel": {
                            "type": "string",
                            "description": "Kernel"
                          },
                          "service_pack": {
                            "type": "string",
                            "description": "Atualização"
                          }
                        },
                        "nullable": true
                      },
                      "tipeertopeer": {
                        "type": "boolean",
                        "description": "O recurso possui TiPeerToPeer instalado e disponível para acesso?"
                      },
                      "updated_by_id": {
                        "type": "integer",
                        "description": "Identificador do último usuário que atualizou alguma informação do recurso"
                      },
                      "user": {
                        "type": "string",
                        "description": "Nome do usuário do recurso"
                      },
                      "warranty_date": {
                        "type": "string",
                        "description": "Data de garantia - Formato: YYYY-MM-DD"
                      }
                    },
                    "required": [
                      "id",
                      "acquisition_date",
                      "agent",
                      "client",
                      "equipment_group",
                      "equipment_type",
                      "ipv4",
                      "last_connection",
                      "last_seen",
                      "monitoring_active",
                      "name",
                      "network_name",
                      "online",
                      "splashtop",
                      "tipeertopeer",
                      "updated_by_id",
                      "user",
                      "warranty_date"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "include_system": [
                      "teste is not a valid option. Include system must be 'true' or 'false'"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar recursos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "post": {
        "summary": "Criar recurso",
        "tags": [
          "Recursos"
        ],
        "parameters": [

        ],
        "description": "Cria um novo recurso na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_equipments",
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 2,
                  "acquisition_date": "2025-11-20",
                  "client": {
                    "id": 21,
                    "name": "Kuhic-Kuhlman"
                  },
                  "equipment_group": {
                    "id": 24,
                    "name": "Equipment Group"
                  },
                  "equipment_type": {
                    "id": 6,
                    "name": "Jerde Inc"
                  },
                  "name": "Recurso cadastrado pela API",
                  "updated_by_id": 1,
                  "warranty_date": "2029-11-20"
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "acquisition_date": {
                      "type": "string",
                      "nullable": true
                    },
                    "client": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "equipment_group": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "equipment_type": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "name": {
                      "type": "string"
                    },
                    "updated_by_id": {
                      "type": "integer"
                    },
                    "warranty_date": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "acquisition_date",
                    "client",
                    "equipment_group",
                    "equipment_type",
                    "name",
                    "updated_by_id",
                    "warranty_date"
                  ]
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Data de garantia precisa ser maior que data de aquisição": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "warranty_date": [
                          "must be greater than :acquisition_date (2025-11-20)"
                        ]
                      }
                    }
                  },
                  "Valores das datas devem ser um datetime": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "acquisition_date": [
                          "invalid datetime"
                        ],
                        "warranty_date": [
                          "invalid datetime"
                        ]
                      }
                    }
                  },
                  "name deve ser menor que 255 caracteres": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "name": [
                          "is too long (maximum is 255 characters)"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Atributos não encontrados**",
            "content": {
              "application/json": {
                "examples": {
                  "client_id inválido": {
                    "value": {
                      "error_code": 40402,
                      "message": "Cannot find record",
                      "detail": {
                        "client_id": [
                          "client not found"
                        ]
                      }
                    }
                  },
                  "equipment_group_id inválido": {
                    "value": {
                      "error_code": 40402,
                      "message": "Cannot find record",
                      "detail": {
                        "equipment_group_id": [
                          "equipment group not found or does not belongs to client"
                        ]
                      }
                    }
                  },
                  "equipment_type_id inválido": {
                    "value": {
                      "error_code": 40402,
                      "message": "Cannot find record",
                      "detail": {
                        "equipment_type_id": [
                          "equipment type not found"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar recursos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Nome do recurso",
                    "maxLength": 255
                  },
                  "client_id": {
                    "type": "string",
                    "description": "Identificador (ID) do cliente"
                  },
                  "equipment_group_id": {
                    "type": "string",
                    "description": "Identificador (ID) do grupo de recurso"
                  },
                  "equipment_type_id": {
                    "type": "string",
                    "description": "Identificador (ID) do tipo de recurso"
                  },
                  "acquisition_date": {
                    "type": "string",
                    "nullable": true,
                    "description": "Data de aquisição - Formato: YYYY-MM-DD"
                  },
                  "warranty_date": {
                    "type": "string",
                    "nullable": true,
                    "description": "Data de garantia - Formato: YYYY-MM-DD"
                  }
                },
                "required": [
                  "name",
                  "client_id",
                  "equipment_type_id"
                ]
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "name": "Recurso cadastrado pela API",
                    "client_id": 21,
                    "equipment_group_id": 24,
                    "equipment_type_id": 6,
                    "acquisition_date": "2025-11-20",
                    "warranty_date": "2029-11-20"
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Se o campo `equipment_group_id` não for preenchido, o recurso será automaticamente associado ao primeiro grupo de recursos já cadastrado no cliente."
        }
      }
    },
    "/equipments/{id}": {
      "put": {
        "summary": "Atualizar recurso",
        "tags": [
          "Recursos"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do recurso",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Atualiza informações de um determinado recurso.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_equipments_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "acquisition_date": "2025-11-20",
                  "client": {
                    "id": 21,
                    "name": "Kuhic-Kuhlman"
                  },
                  "equipment_group": {
                    "id": 24,
                    "name": "Equipment Group"
                  },
                  "equipment_type": {
                    "id": 6,
                    "name": "Jerde Inc"
                  },
                  "name": "Novo nome do recurso",
                  "updated_by_id": 1,
                  "warranty_date": "2029-11-20"
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "acquisition_date": {
                      "type": "string",
                      "nullable": true
                    },
                    "client": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "equipment_group": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "equipment_type": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "name": {
                      "type": "string"
                    },
                    "updated_by_id": {
                      "type": "integer"
                    },
                    "warranty_date": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "acquisition_date",
                    "client",
                    "equipment_group",
                    "equipment_type",
                    "name",
                    "updated_by_id",
                    "warranty_date"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Registros não encontrados**",
            "content": {
              "application/json": {
                "examples": {
                  "Recurso não encontrado": {
                    "value": {
                      "error_code": 40401,
                      "message": "Cannot find record",
                      "detail": {
                        "error": [
                          "Couldn't find Equipment with 'id'=\"0\""
                        ]
                      }
                    }
                  },
                  "equipment_group_id inválido": {
                    "value": {
                      "error_code": 40402,
                      "message": "Cannot find record",
                      "detail": {
                        "equipment_group_id": [
                          "equipment group not found or does not belongs to client"
                        ]
                      }
                    }
                  },
                  "equipment_type_id inválido": {
                    "value": {
                      "error_code": 40402,
                      "message": "Cannot find record",
                      "detail": {
                        "equipment_type_id": [
                          "equipment type not found"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "name": [
                      "can't be blank"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar recursos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Nome do recurso",
                    "maxLength": 255
                  },
                  "equipment_group_id": {
                    "type": "string",
                    "description": "Identificador (ID) do grupo de recurso"
                  },
                  "equipment_type_id": {
                    "type": "string",
                    "description": "Identificador (ID) do tipo de recurso"
                  },
                  "acquisition_date": {
                    "type": "string",
                    "nullable": true,
                    "description": "Data de aquisição - Formato: YYYY-MM-DD"
                  },
                  "warranty_date": {
                    "type": "string",
                    "nullable": true,
                    "description": "Data de garantia - Formato: YYYY-MM-DD"
                  }
                },
                "required": [

                ]
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "name": "Novo nome do recurso",
                    "equipment_group_id": 24,
                    "equipment_type_id": 6,
                    "acquisition_date": "2025-11-20",
                    "warranty_date": "2029-11-20"
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/equipments/{id}/softwares": {
      "get": {
        "summary": "Listar softwares",
        "tags": [
          "Recursos"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do recurso",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista todos os softwares de um determinado recurso.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_equipments_id_softwares",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "name": "Microsoft Application Error Reporting",
                    "version": "12.0.6015.5000",
                    "vendor": "Microsoft Corporation"
                  },
                  {
                    "name": "Ti Service And Agent",
                    "version": "2.0.0.0",
                    "vendor": "TiFLUX"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "**Nome** do software"
                      },
                      "version": {
                        "type": "string",
                        "description": "**Versão** instalada"
                      },
                      "vendor": {
                        "type": "string",
                        "description": "**Fornecedor** do software"
                      }
                    },
                    "required": [
                      "name",
                      "version",
                      "vendor"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "equipment_id": [
                      "must be greater than 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar recursos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/templates/gupshup": {
      "get": {
        "summary": "Listar templates gupshup",
        "tags": [
          "Templates"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "integration_id",
            "in": "query",
            "description": "Filtrar a busca pelo id de integrações",
            "required": false,
            "examples": {
              "1": {
                "value": 1
              }
            },
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista os templates para Gupshup que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_templates_gupshup",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "examples": {
                  "Listar todos os templates Gupshup": {
                    "value": [
                      {
                        "id": 1,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 1,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      },
                      {
                        "id": 2,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 2,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      },
                      {
                        "id": 3,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 2,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      },
                      {
                        "id": 4,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 2,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      },
                      {
                        "id": 5,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 3,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      },
                      {
                        "id": 6,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 3,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      },
                      {
                        "id": 7,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 3,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      }
                    ]
                  },
                  "Lista templates do Gupshp da integração com integration_id = 2": {
                    "value": [
                      {
                        "id": 2,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 2,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      },
                      {
                        "id": 3,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 2,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      },
                      {
                        "id": 4,
                        "category": "ALERT_UPDATE",
                        "content": "You are in department {{1}}",
                        "description": "basic template",
                        "integration_id": 2,
                        "name": "hsm_template",
                        "status": "APPROVED"
                      }
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "teste se integration_id for diferente de um inteiro positivo": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "integration_id": [
                          "is not a number"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar Modelos"
          }
        ]
      }
    },
    "/templates/whatsapp_cloud": {
      "get": {
        "summary": "Listar templates whatsapp cloud",
        "tags": [
          "Templates"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "integration_id",
            "in": "query",
            "description": "Filtrar a busca pelo id de integrações",
            "required": false,
            "examples": {
              "1": {
                "value": 1
              }
            },
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filtrar a busca pelo status do template: APPROVED, MISSING_VARS, REJECTED ou PENDING",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "APPROVED",
                "MISSING_VARS",
                "REJECTED",
                "PENDING"
              ]
            }
          }
        ],
        "description": "Lista os templates para Whatsapp Cloud que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_templates_whatsapp_cloud",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "examples": {
                  "Listar todos os templates Whatsapp Cloud": {
                    "value": [
                      {
                        "id": 1,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 4,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "APPROVED",
                        "template_id": "eovfpixwjynaxwruyftjuxggbdfgkcpa"
                      },
                      {
                        "id": 2,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 4,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "APPROVED",
                        "template_id": "dxubapewpdxpjezuayebezmhvonsxcrr"
                      },
                      {
                        "id": 3,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 4,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "APPROVED",
                        "template_id": "ypchvzhoptnhmhplxrsoshdqirtvuvqp"
                      },
                      {
                        "id": 4,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 5,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "REJECTED",
                        "template_id": "udnottirgpmagcbqxyaoumjsoxuyqqyw"
                      },
                      {
                        "id": 5,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 5,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "REJECTED",
                        "template_id": "ohqrjsdocmozrgsezspizvxktuegpgoc"
                      },
                      {
                        "id": 6,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 5,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "REJECTED",
                        "template_id": "pwpidguygjpvwhpfgtjatjdxugnctfof"
                      }
                    ]
                  },
                  "Lista templates do Whatsapp Cloud da integração com integration_id = 4": {
                    "value": [
                      {
                        "id": 1,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 4,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "APPROVED",
                        "template_id": "eovfpixwjynaxwruyftjuxggbdfgkcpa"
                      },
                      {
                        "id": 2,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 4,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "APPROVED",
                        "template_id": "dxubapewpdxpjezuayebezmhvonsxcrr"
                      },
                      {
                        "id": 3,
                        "body": {
                          "type": "BODY",
                          "text": "teste idioma"
                        },
                        "category": "CATEGORY",
                        "footer": null,
                        "header": null,
                        "integration_id": 4,
                        "keys": {
                          "header": {
                          },
                          "body": {
                          }
                        },
                        "language": "pt_BR",
                        "name": "integracao_teste",
                        "status": "APPROVED",
                        "template_id": "ypchvzhoptnhmhplxrsoshdqirtvuvqp"
                      }
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "teste se integration_id for diferente de um inteiro positivo": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "integration_id": [
                          "is not a number"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar Modelos"
          }
        ]
      }
    },
    "/integrations": {
      "get": {
        "summary": "Listar integrações",
        "tags": [
          "Integrações"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "active",
            "in": "query",
            "description": "Filtrar a busca por integrações ativas ou inativas",
            "required": false,
            "schema": {
              "type": "boolean",
              "enum": [
                "true",
                "false"
              ]
            }
          },
          {
            "name": "_type",
            "in": "query",
            "description": "Filtrar a busca por tipo de integração: asaas, call_center_pabxflex, call_center_vipsolutions, contaazul, github, gupshup, jira, openai, whatsapp_cloud ou zapi",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asaas",
                "call_center_pabxflex",
                "call_center_vipsolutions",
                "contaazul",
                "github",
                "gupshup",
                "jira",
                "openai",
                "whatsapp_cloud",
                "zapi"
              ]
            }
          }
        ],
        "description": "Lista as integrações que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_integrations",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "examples": {
                  "Listar todas integrações": {
                    "value": [
                      {
                        "id": 1,
                        "_type": "gupshup",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Lucia",
                          "phonenumber": "(785) 248-7951 x9776",
                          "app_id": "hyciezumdqomqtahhxnqjrkffhidegpr"
                        }
                      },
                      {
                        "id": 2,
                        "_type": "gupshup",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Maybell",
                          "phonenumber": "(906) 470-6625 x4580",
                          "app_id": "wuddzjovubjpxywpfsqposhlgblntqcr"
                        }
                      },
                      {
                        "id": 3,
                        "_type": "gupshup",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Scotty",
                          "phonenumber": "720-304-6770 x1884",
                          "app_id": "bzyapqzamzwfzyicktkmpoikjyavpngz"
                        }
                      },
                      {
                        "id": 4,
                        "_type": "whatsapp_cloud",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Kaci",
                          "phonenumber": "918.443.2692",
                          "app_id": "txfwmonoivurbltwqfnxsyqfidkbdpad"
                        }
                      },
                      {
                        "id": 5,
                        "_type": "whatsapp_cloud",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Mi",
                          "phonenumber": "(412) 909-2712 x0541",
                          "app_id": "rayfhunmelyeabqaecoqtojlbgyldixd"
                        }
                      },
                      {
                        "id": 6,
                        "_type": "gupshup",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Marline",
                          "phonenumber": "509-464-3451 x1273",
                          "app_id": "dfoclbfrboqkwvsxukrdeumaiphidpaq"
                        }
                      },
                      {
                        "id": 7,
                        "_type": "gupshup",
                        "active": false,
                        "integration_fields": {
                          "app_name": "Charles",
                          "phonenumber": "419-716-1072 x9297",
                          "app_id": "wjipbrqdokvhneroynwalmurbwbelkoe"
                        }
                      }
                    ]
                  },
                  "Lista todas integrações ativas": {
                    "value": [
                      {
                        "id": 1,
                        "_type": "gupshup",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Lucia",
                          "phonenumber": "(785) 248-7951 x9776",
                          "app_id": "hyciezumdqomqtahhxnqjrkffhidegpr"
                        }
                      },
                      {
                        "id": 2,
                        "_type": "gupshup",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Maybell",
                          "phonenumber": "(906) 470-6625 x4580",
                          "app_id": "wuddzjovubjpxywpfsqposhlgblntqcr"
                        }
                      },
                      {
                        "id": 3,
                        "_type": "gupshup",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Scotty",
                          "phonenumber": "720-304-6770 x1884",
                          "app_id": "bzyapqzamzwfzyicktkmpoikjyavpngz"
                        }
                      },
                      {
                        "id": 4,
                        "_type": "whatsapp_cloud",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Kaci",
                          "phonenumber": "918.443.2692",
                          "app_id": "txfwmonoivurbltwqfnxsyqfidkbdpad"
                        }
                      },
                      {
                        "id": 5,
                        "_type": "whatsapp_cloud",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Mi",
                          "phonenumber": "(412) 909-2712 x0541",
                          "app_id": "rayfhunmelyeabqaecoqtojlbgyldixd"
                        }
                      },
                      {
                        "id": 6,
                        "_type": "gupshup",
                        "active": true,
                        "integration_fields": {
                          "app_name": "Marline",
                          "phonenumber": "509-464-3451 x1273",
                          "app_id": "dfoclbfrboqkwvsxukrdeumaiphidpaq"
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "active - Não pode ser um valor diferente de true e false": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "active": [
                          "123 is not a valid option. Active must be true or false"
                        ]
                      }
                    }
                  },
                  "_type - Não pode ser um valor diferente de asaas, call_center_vipsolutions, contaazul, github, gupshup, openai ou whatsapp_web": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "_type": [
                          "123 is not a valid option. Type must be asaas, call_center_pabxflex, call_center_vipsolutions, contaazul, github, gupshup, jira, openai, whatsapp_cloud or zapi"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar integrações"
          }
        ]
      }
    },
    "/knowledges": {
      "get": {
        "summary": "Listar conhecimentos",
        "tags": [
          "Conhecimentos"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "knowledge_folder_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por pastas de conhecimentos.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "0": {
                "value": "",
                "summary": "Sem filtro"
              },
              "1": {
                "value": [
                  "1",
                  "2",
                  "3"
                ],
                "summary": "Filtrar por mais de 1 pasta"
              },
              "2": {
                "value": [
                  "4"
                ],
                "summary": "Filtrar por 1 pasta"
              }
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Parâmetro de busca que permite realizar buscas em conhecimentos. Com ele, é possível procurar conhecimentos pelos campos de: título, tags e primeiros caracteres da descrição.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "description": "Lista os conhecimentos cadastrados na sua organização.\n\nEsta rota não exige nenhuma permissão específica, porém segue os seguintes critérios:\n\n- Sempre retorna conhecimentos públicos e também, os conhecimentos relacionados ao grupo de atendentes do usuário autenticado.\n\n- Para ver **todos** os conhecimentos sem nenhuma restrição, é necessário a permissão de <span style=\"white-space: nowrap; margin:1px; padding:1px 8px; font-weight:bold; border-radius:12px;  background-color: var(--light-red, var(--input-bg)); color:var(--red); border:1px solid var(--red)\"><!--?lit$8458964218$-->Gerenciar base de conhecimento</span>",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          }
        ],
        "operationId": "get_knowledges",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "created_at": "2025-01-10T17:30:49Z",
                    "created_by_user": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    },
                    "description": "text",
                    "knowledge_folder_ids": [
                      1
                    ],
                    "private": false,
                    "tags": [
                      "TAG 1",
                      "TAG 2"
                    ],
                    "title": "Conhecimento de exemplo",
                    "updated_at": "2026-04-28T21:28:20Z"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "description": "Identificador do conhecimento",
                        "type": "integer"
                      },
                      "created_at": {
                        "description": "Data da criação do conhecimento",
                        "type": "string"
                      },
                      "created_by_user": {
                        "description": "Objeto representando o usuário que criou o conhecimento",
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "name": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "description": {
                        "type": "string",
                        "description": "Descrição ou texto do conhecimento, em formato HTML. Serão exibidos apenas os primeiros 300 caracteres da descrição do conhecimento"
                      },
                      "knowledge_folder_ids": {
                        "type": "array",
                        "description": "Lista contendo os IDs das pastas de conhecimentos que estão relacionadas a este conhecimento",
                        "items": {
                          "type": "integer"
                        }
                      },
                      "private": {
                        "description": "O conhecimento é privado?",
                        "type": "boolean"
                      },
                      "tags": {
                        "type": "array",
                        "description": "Lista contendo as tags do conhecimento",
                        "items": {
                          "type": "string"
                        }
                      },
                      "title": {
                        "description": "Título",
                        "type": "string"
                      },
                      "updated_at": {
                        "description": "Data da última modificação do conhecimento",
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "created_at",
                      "created_by_user",
                      "description",
                      "knowledge_folder_ids",
                      "private",
                      "tags",
                      "title",
                      "updated_at"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "knowledge_folder_ids": [
                      "must be a comma-separated list of integers"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Criar conhecimento",
        "tags": [
          "Conhecimentos"
        ],
        "parameters": [

        ],
        "description": "Cria um novo conhecimento em sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_knowledges",
        "responses": {
          "201": {
            "description": "### **Conhecimento criado com sucesso**",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "Identificador do conhecimento",
                      "type": "integer"
                    },
                    "client_ids": {
                      "type": "array",
                      "description": "Lista contendo os IDs dos clientes que tem permissão para acessar o conhecimento",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "created_at": {
                      "description": "Data da criação do conhecimento",
                      "type": "string"
                    },
                    "created_by_user": {
                      "description": "Objeto representando o usuário que criou o conhecimento",
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "description": {
                      "type": "string",
                      "description": "Descrição ou texto do conhecimento, em formato HTML"
                    },
                    "knowledge_folder_ids": {
                      "type": "array",
                      "description": "Lista contendo os IDs das pastas de conhecimentos que foram relacionadas a este conhecimento",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "private": {
                      "description": "O conhecimento é privado?",
                      "type": "boolean"
                    },
                    "services_catalogs_item_ids": {
                      "type": "array",
                      "description": "Lista contendo os IDs dos itens de catálogos de serviço que foram relacionados ao conhecimento",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "tags": {
                      "type": "array",
                      "description": "Lista contendo as tags do conhecimento",
                      "items": {
                        "type": "string"
                      }
                    },
                    "technical_group_ids": {
                      "type": "array",
                      "description": "Lista contendo os IDs dos grupos de atendentes que tem permissão para acessar o conhecimento",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "title": {
                      "description": "Título",
                      "type": "string"
                    },
                    "updated_at": {
                      "description": "Data da última modificação do conhecimento",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "client_ids",
                    "created_at",
                    "created_by_user",
                    "description",
                    "knowledge_folder_ids",
                    "private",
                    "tags",
                    "technical_group_ids",
                    "services_catalogs_item_ids",
                    "title",
                    "updated_at"
                  ]
                },
                "example": {
                  "id": 5,
                  "client_ids": [
                    22
                  ],
                  "created_at": "2026-04-28T21:28:21Z",
                  "created_by_user": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  },
                  "description": "Descrição do conhecimento criado por API",
                  "knowledge_folder_ids": [
                    1
                  ],
                  "private": true,
                  "services_catalogs_item_ids": [
                    5
                  ],
                  "tags": [
                    "TAG1",
                    "TAG2"
                  ],
                  "technical_group_ids": [
                    104
                  ],
                  "title": "Título do conhecimento criado por API",
                  "updated_at": "2026-04-28T21:28:21Z"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "description": [
                      "can't be blank"
                    ],
                    "knowledge_folder_ids": [
                      "can't be blank",
                      "a knowledge must have at least one folder"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar conhecimento"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "description": "Título",
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "description": "Descrição ou texto do conhecimento, em formato HTML"
                  },
                  "knowledge_folder_ids": {
                    "type": "array",
                    "description": "Lista contendo os IDs das pastas de conhecimentos que serão relacionadas ao conhecimento",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "tags": {
                    "type": "array",
                    "description": "Lista contendo as tags do conhecimento. Devem ser strings que não possuem vírgula em seu nome",
                    "items": {
                      "type": "string"
                    }
                  },
                  "services_catalogs_item_ids": {
                    "type": "array",
                    "description": "Lista contendo os IDs dos itens de catálogos de serviço que serão relacionados ao conhecimento",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "private": {
                    "description": "O conhecimento é privado?",
                    "type": "boolean",
                    "default": true
                  },
                  "technical_group_ids": {
                    "type": "array",
                    "description": "Lista contendo os IDs dos grupos de atendentes que terão permissão para acessar o conhecimento. Só será aceito caso o conhecimento seja do tipo privado",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "client_ids": {
                    "type": "array",
                    "description": "Lista contendo os IDs dos clientes que terão permissão para acessar o conhecimento. Só será aceito caso o conhecimento seja do tipo privado",
                    "items": {
                      "type": "integer"
                    }
                  }
                },
                "required": [
                  "description",
                  "knowledge_folder_ids",
                  "title"
                ]
              },
              "examples": {
                "Criando um conhecimento padrão": {
                  "summary": "Criando um conhecimento padrão",
                  "value": {
                    "title": "Título do conhecimento criado por API",
                    "description": "<h1>Este é apenas um exemplo de como criar um conhecimento pela API!</h1><br><div>A descrição do conhecimento pode conter tags HTML</div>",
                    "knowledge_folder_ids": [
                      1
                    ]
                  }
                },
                "Criando um conhecimento público": {
                  "summary": "Criando um conhecimento público",
                  "value": {
                    "title": "Título do conhecimento público criado por API",
                    "description": "Descrição do conhecimento público criado por API. Para criar um conhecimento como público, basta informar 'private' como false",
                    "knowledge_folder_ids": [
                      1
                    ],
                    "private": false
                  }
                },
                "Criando um conhecimento privado com relacionamentos": {
                  "summary": "Criando um conhecimento privado com relacionamentos",
                  "value": {
                    "title": "Título do conhecimento privado criado por API",
                    "description": "Descrição do conhecimento público criado por API. O parâmetro 'private' assume o valor true se não informado. Então, por padrão, o conhecimento já é criado como privado. Note também, que é possível relacionar clientes e grupos técnicos que terão acesso ao conhecimento.",
                    "knowledge_folder_ids": [
                      1
                    ],
                    "private": true,
                    "client_ids": [
                      22
                    ],
                    "technical_group_ids": [
                      104
                    ]
                  }
                },
                "Criando um conhecimento com todos os atributos": {
                  "summary": "Criando um conhecimento com todos os atributos",
                  "value": {
                    "title": "Título do conhecimento criado por API",
                    "description": "Descrição do conhecimento criado por API",
                    "knowledge_folder_ids": [
                      1
                    ],
                    "private": true,
                    "client_ids": [
                      22
                    ],
                    "technical_group_ids": [
                      104
                    ],
                    "tags": [
                      "TAG1",
                      "TAG2"
                    ],
                    "services_catalogs_item_ids": [
                      5
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Confira abaixo alguns exemplos de corpo da requisição, para criação de um conhecimento.\n\n- Para conferir todos os parâmetros aceitos nessa rota, acesse a aba de SCHEMA."
        }
      }
    },
    "/reports/feedbacks/chats": {
      "get": {
        "summary": "Avaliações de atendimento - chats",
        "tags": [
          "Relatórios"
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Retorna o relatório apenas de chats fechados/avaliados após a data passada como parâmetro. (Caso o parâmetro não seja informado, será considerado os últimos 30 dias)",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "1": {
                "value": "2024-08-15"
              }
            },
            "required": false
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Retorna o relatório apenas de chats fechados/avaliados anteriormente a data passada como parâmetro. (Caso o parâmetro não seja informado será considerada a data atual)",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "1": {
                "value": "2030-05-21"
              }
            },
            "required": false
          },
          {
            "name": "chats_list",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false,
            "description": "Incluir a lista de chats avaliados na resposta?"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Esse parâmetro só será utilizado ao informar `chats_list=true` na requisição. Ele representa o número da página retornada no atributo chats_list",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Esse parâmetro só será utilizado ao informar `chats_list=true` na requisição. Ele representa o número de itens retornados no atributo chats_list",
            "required": false
          },
          {
            "name": "responsible_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por atendentes.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "1": {
                "value": [
                  "67",
                  "94",
                  "3"
                ],
                "summary": "Filtrar por mais de 1 atendente"
              },
              "2": {
                "value": [
                  "1"
                ],
                "summary": "Filtrar por 1 atendente"
              }
            }
          },
          {
            "name": "department_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por departamentos.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "1": {
                "value": [
                  "99",
                  "93"
                ],
                "summary": "Filtrar por mais de 1 departamento"
              },
              "2": {
                "value": [
                  "187"
                ],
                "summary": "Filtrar por 1 departamento"
              }
            }
          },
          {
            "name": "technical_group_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por grupos de atendentes.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "1": {
                "value": [
                  "982",
                  "2",
                  "1024"
                ],
                "summary": "Filtrar por mais de 1 grupo de atendente"
              },
              "2": {
                "value": [
                  "44"
                ],
                "summary": "Filtrar por 1 grupo de atendente"
              }
            }
          }
        ],
        "description": "Este método retorna as informações do relatório de Avaliações de atendimento, filtrando por chats.\n- Por padrão, é retornado apenas o resumo das informações, dentro do atributo `summary`.\n- Mas, se você também deseja exibir a lista de chats avaliados, basta utilizar o parâmetro `chats_list=true`. Que será incluso um atributo `chats_list` na resposta, com uma listagem *paginada* dos chats.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_reports_feedbacks_chats",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "Resposta padrão": {
                    "value": {
                      "summary": {
                        "answers_percentage": "100.0",
                        "chats_evaluated": 2,
                        "chats_finished": 2,
                        "clients_evaluated": 2,
                        "rating_average": "5.0"
                      }
                    }
                  },
                  "Resposta com a lista de chats": {
                    "value": {
                      "summary": {
                        "answers_percentage": "100.0",
                        "chats_evaluated": 2,
                        "chats_finished": 2,
                        "clients_evaluated": 2,
                        "rating_average": "5.0"
                      },
                      "chats_list": [
                        {
                          "id": 9,
                          "client_id": 9,
                          "client_name": "Pfannerstill LLC",
                          "origin": "gupshup",
                          "rating": "5.0",
                          "rating_time": "2026-04-28T21:27:51Z",
                          "responsible_id": null,
                          "responsible_name": null,
                          "ticket_number": null,
                          "ticket_title": null
                        },
                        {
                          "id": 10,
                          "client_id": 10,
                          "client_name": "Baumbach, Green and Jakubowski",
                          "origin": "gupshup",
                          "rating": "5.0",
                          "rating_time": "2026-04-28T21:27:51Z",
                          "responsible_id": null,
                          "responsible_name": null,
                          "ticket_number": null,
                          "ticket_title": null
                        }
                      ]
                    }
                  }
                },
                "schema": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "Resposta padrão",
                      "properties": {
                        "summary": {
                          "type": "object",
                          "properties": {
                            "answers_percentage": {
                              "type": "string",
                              "description": "Respostas (%)"
                            },
                            "chats_evaluated": {
                              "type": "integer",
                              "description": "Chats avaliados"
                            },
                            "chats_finished": {
                              "type": "integer",
                              "description": "Chats finalizados"
                            },
                            "clients_evaluated": {
                              "type": "integer",
                              "description": "Quantidade de clientes que avaliaram"
                            },
                            "rating_average": {
                              "type": "string",
                              "description": "Média de avaliação"
                            }
                          },
                          "required": [
                            "answers_percentage",
                            "chats_evaluated",
                            "chats_finished",
                            "clients_evaluated",
                            "rating_average"
                          ]
                        }
                      },
                      "required": [
                        "summary"
                      ]
                    },
                    {
                      "type": "object",
                      "title": "Resposta com a lista de chats",
                      "description": "Resposta recebida ao utilizar `chats_list=true`",
                      "properties": {
                        "summary": {
                          "type": "object",
                          "properties": {
                            "answers_percentage": {
                              "type": "string",
                              "description": "Respostas (%)"
                            },
                            "chats_evaluated": {
                              "type": "integer",
                              "description": "Chats avaliados"
                            },
                            "chats_finished": {
                              "type": "integer",
                              "description": "Chats finalizados"
                            },
                            "clients_evaluated": {
                              "type": "integer",
                              "description": "Quantidade de clientes que avaliaram"
                            },
                            "rating_average": {
                              "type": "string",
                              "description": "Média de avaliação"
                            }
                          },
                          "required": [
                            "answers_percentage",
                            "chats_evaluated",
                            "chats_finished",
                            "clients_evaluated",
                            "rating_average"
                          ]
                        },
                        "chats_list": {
                          "type": "array",
                          "description": "**Lista de chats avaliados**",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Identificador do chat"
                              },
                              "client_id": {
                                "type": "integer",
                                "description": "Identificador do cliente",
                                "nullable": true
                              },
                              "client_name": {
                                "type": "string",
                                "description": "Nome fantasia do cliente",
                                "nullable": true
                              },
                              "origin": {
                                "type": "string",
                                "description": "Canal de origem do chat"
                              },
                              "rating": {
                                "type": "string",
                                "description": "Nota da avaliação do chat"
                              },
                              "rating_time": {
                                "type": "string",
                                "format": "datetime",
                                "description": "Data da avaliação do chat"
                              },
                              "responsible_id": {
                                "type": "integer",
                                "description": "Identificador do responsável",
                                "nullable": true
                              },
                              "responsible_name": {
                                "type": "string",
                                "description": "Nome do responsável",
                                "nullable": true
                              },
                              "ticket_number": {
                                "type": "integer",
                                "description": "Número do ticket vinculado ao chat",
                                "nullable": true
                              },
                              "ticket_title": {
                                "type": "string",
                                "description": "Título do ticket vinculado ao chat",
                                "nullable": true
                              }
                            },
                            "required": [
                              "id",
                              "client_id",
                              "client_name",
                              "rating",
                              "rating_time",
                              "responsible_id",
                              "responsible_name",
                              "origin",
                              "ticket_number",
                              "ticket_title"
                            ]
                          }
                        }
                      },
                      "required": [
                        "summary",
                        "chats_list"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Formato inválido de responsible_ids": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "responsible_ids": [
                          "must be a comma-separated list of integers"
                        ]
                      }
                    }
                  },
                  "Formato inválido de department_ids": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "department_ids": [
                          "must be a comma-separated list of integers"
                        ]
                      }
                    }
                  },
                  "Formato inválido de technical_group_ids": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "technical_group_ids": [
                          "must be a comma-separated list of integers"
                        ]
                      }
                    }
                  },
                  "start_date deve ser menor que end_date": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "end_date": [
                          "must be greater than or equal to :start_date (2023-01-01)"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar relatórios administrativos"
          }
        ]
      }
    },
    "/reports/feedbacks/tickets": {
      "get": {
        "summary": "Avaliações de atendimento - tickets",
        "tags": [
          "Relatórios"
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Retorna o relatório apenas de tickets revisados/avaliados após a data passada como parâmetro. (Caso o parâmetro não seja informado, será considerado os últimos 30 dias)",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "1": {
                "value": "2024-08-15"
              }
            },
            "required": false
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Retorna o relatório apenas de tickets revisados/avaliados anteriormente a data passada como parâmetro. (Caso o parâmetro não seja informado será considerada a data atual)",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "1": {
                "value": "2030-05-21"
              }
            },
            "required": false
          },
          {
            "name": "tickets_list",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false,
            "description": "Incluir a lista de tickets avaliados na resposta?"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Esse parâmetro só será utilizado ao informar `tickets_list=true` na requisição. Ele representa o número da página retornada no atributo tickets_list",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Esse parâmetro só será utilizado ao informar `tickets_list=true` na requisição. Ele representa o número de itens retornados no atributo tickets_list",
            "required": false
          },
          {
            "name": "responsible_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por atendentes.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "1": {
                "value": [
                  "9124",
                  "4",
                  "31"
                ],
                "summary": "Filtrar por mais de 1 atendente"
              },
              "2": {
                "value": [
                  "34"
                ],
                "summary": "Filtrar por 1 atendente"
              }
            }
          },
          {
            "name": "desk_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por mesas.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "1": {
                "value": [
                  "699",
                  "29"
                ],
                "summary": "Filtrar por mais de uma mesa"
              },
              "2": {
                "value": [
                  "17"
                ],
                "summary": "Filtrar por uma mesa"
              }
            }
          },
          {
            "name": "client_ids",
            "in": "query",
            "required": false,
            "description": "Filtrar por clientes.\n\nOs IDs devem ser informados na sequência e separados por vírgula",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "1": {
                "value": [
                  "82",
                  "200",
                  "12"
                ],
                "summary": "Filtrar por mais de um cliente"
              },
              "2": {
                "value": [
                  "58"
                ],
                "summary": "Filtrar por um cliente"
              }
            }
          }
        ],
        "description": "Este método retorna as informações do relatório de Avaliações de atendimento, filtrando por tickets.\n- Por padrão, é retornado apenas o resumo das informações, dentro do atributo `summary`.\n- Mas, se você também deseja exibir a lista de tickets avaliados, basta utilizar o parâmetro `tickets_list=true`. Que será incluso um atributo `tickets_list` na resposta, com uma listagem *paginada* dos tickets.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_reports_feedbacks_tickets",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "Resposta padrão": {
                    "value": {
                      "summary": {
                        "answers_percentage": "100.0",
                        "clients_evaluated": 1,
                        "rating_average": "2.0",
                        "tickets_evaluated": 3,
                        "tickets_finished": 3
                      }
                    }
                  },
                  "Resposta com a lista de tickets": {
                    "value": {
                      "summary": {
                        "answers_percentage": "100.0",
                        "clients_evaluated": 1,
                        "rating_average": "2.0",
                        "tickets_evaluated": 3,
                        "tickets_finished": 3
                      },
                      "tickets_list": [
                        {
                          "id": 1,
                          "client_id": 23,
                          "client_name": "Breitenberg, Kreiger and Schumm",
                          "comments": "Serviço muito bom!",
                          "desk_id": 6,
                          "desk_name": "API",
                          "rating": 3,
                          "responsible_id": 1,
                          "responsible_name": "Nancy Botsford DO",
                          "revised_in_time": "2026-04-28T21:28:22Z",
                          "ticket_number": 3,
                          "ticket_title": "Only a test"
                        },
                        {
                          "id": 2,
                          "client_id": 23,
                          "client_name": "Breitenberg, Kreiger and Schumm",
                          "comments": "Serviço muito bom!",
                          "desk_id": 6,
                          "desk_name": "API",
                          "rating": 2,
                          "responsible_id": 1,
                          "responsible_name": "Nancy Botsford DO",
                          "revised_in_time": "2026-04-28T21:28:23Z",
                          "ticket_number": 4,
                          "ticket_title": "Only a test"
                        },
                        {
                          "id": 3,
                          "client_id": 23,
                          "client_name": "Breitenberg, Kreiger and Schumm",
                          "comments": "Serviço muito bom!",
                          "desk_id": 6,
                          "desk_name": "API",
                          "rating": 1,
                          "responsible_id": 1,
                          "responsible_name": "Nancy Botsford DO",
                          "revised_in_time": "2026-04-28T21:28:23Z",
                          "ticket_number": 5,
                          "ticket_title": "Only a test"
                        }
                      ]
                    }
                  }
                },
                "schema": {
                  "anyOf": [
                    {
                      "type": "object",
                      "title": "Resposta padrão",
                      "properties": {
                        "summary": {
                          "type": "object",
                          "properties": {
                            "answers_percentage": {
                              "type": "string",
                              "description": "Respostas (%)"
                            },
                            "tickets_evaluated": {
                              "type": "integer",
                              "description": "Tickets avaliados"
                            },
                            "tickets_finished": {
                              "type": "integer",
                              "description": "Tickets finalizados"
                            },
                            "clients_evaluated": {
                              "type": "integer",
                              "description": "Quantidade de clientes que avaliaram"
                            },
                            "rating_average": {
                              "type": "string",
                              "description": "Média de avaliação"
                            }
                          },
                          "required": [
                            "answers_percentage",
                            "tickets_evaluated",
                            "tickets_finished",
                            "clients_evaluated",
                            "rating_average"
                          ]
                        }
                      },
                      "required": [
                        "summary"
                      ]
                    },
                    {
                      "type": "object",
                      "title": "Resposta com a lista de tickets",
                      "description": "Resposta recebida ao utilizar `tickets_list=true`",
                      "properties": {
                        "summary": {
                          "type": "object",
                          "properties": {
                            "answers_percentage": {
                              "type": "string",
                              "description": "Respostas (%)"
                            },
                            "tickets_evaluated": {
                              "type": "integer",
                              "description": "Tickets avaliados"
                            },
                            "tickets_finished": {
                              "type": "integer",
                              "description": "Tickets finalizados"
                            },
                            "clients_evaluated": {
                              "type": "integer",
                              "description": "Quantidade de clientes que avaliaram"
                            },
                            "rating_average": {
                              "type": "string",
                              "description": "Média de avaliação"
                            }
                          },
                          "required": [
                            "answers_percentage",
                            "tickets_evaluated",
                            "tickets_finished",
                            "clients_evaluated",
                            "rating_average"
                          ]
                        },
                        "tickets_list": {
                          "type": "array",
                          "description": "**Lista de tickets avaliados**",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Identificador do feedback"
                              },
                              "client_id": {
                                "type": "integer",
                                "description": "Identificador do cliente"
                              },
                              "client_name": {
                                "type": "string",
                                "description": "Nome fantasia do cliente"
                              },
                              "rating": {
                                "type": "integer",
                                "description": "Nota da avaliação do ticket"
                              },
                              "revised_in_time": {
                                "type": "string",
                                "format": "datetime",
                                "description": "Data que o ticket foi avaliado"
                              },
                              "responsible_id": {
                                "type": "integer",
                                "description": "Identificador do responsável",
                                "nullable": true
                              },
                              "responsible_name": {
                                "type": "string",
                                "description": "Nome do responsável",
                                "nullable": true
                              },
                              "ticket_number": {
                                "type": "integer",
                                "description": "Número do ticket"
                              },
                              "ticket_title": {
                                "type": "string",
                                "description": "Título do ticket"
                              },
                              "desk_id": {
                                "type": "integer",
                                "description": "Identificador da mesa"
                              },
                              "desk_name": {
                                "type": "string",
                                "description": "Nome da mesa"
                              },
                              "comments": {
                                "type": "string",
                                "description": "Comentário da avaliação deixado pelo cliente",
                                "nullable": true
                              }
                            },
                            "required": [
                              "id",
                              "client_id",
                              "client_name",
                              "responsible_id",
                              "responsible_name",
                              "ticket_number",
                              "ticket_title",
                              "rating",
                              "desk_id",
                              "desk_name",
                              "revised_in_time",
                              "comments"
                            ]
                          }
                        }
                      },
                      "required": [
                        "summary",
                        "tickets_list"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Formato inválido de responsible_ids": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "responsible_ids": [
                          "must be a comma-separated list of integers"
                        ]
                      }
                    }
                  },
                  "Formato inválido de client_ids": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "client_ids": [
                          "must be a comma-separated list of integers"
                        ]
                      }
                    }
                  },
                  "Formato inválido de desk_ids": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "desk_ids": [
                          "must be a comma-separated list of integers"
                        ]
                      }
                    }
                  },
                  "start_date deve ser menor que end_date": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "end_date": [
                          "must be greater than or equal to :start_date (2023-01-01)"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar relatórios administrativos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/reports/billings/history": {
      "get": {
        "summary": "Histórico de faturamentos",
        "tags": [
          "Relatórios"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 15,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "billing_start_date",
            "in": "query",
            "description": "Este parâmetro permite filtrar o relatório para incluir apenas itens **faturados a partir da data especificada**. Deve ser usado em conjunto com `billing_end_date` para definir o intervalo de datas. O valor deve estar no formato **YYYY-MM-DD**",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-02-17"
              }
            },
            "required": false
          },
          {
            "name": "billing_end_date",
            "in": "query",
            "description": "Este parâmetro permite filtrar o relatório para incluir apenas itens **faturados até a data especificada**. Deve ser utilizado em conjunto com `billing_start_date` para definir o intervalo de datas. O valor deve estar no formato **YYYY-MM-DD**",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-12-31"
              }
            },
            "required": false
          },
          {
            "name": "due_start_date",
            "in": "query",
            "description": "Este parâmetro permite filtrar os faturamentos para incluir apenas itens com data de **vencimento a partir da data especificada**. Deve ser utilizado em conjunto com `due_end_date` para definir o intervalo de vencimento. O valor deve estar no formato **YYYY-MM-DD**",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-02-17"
              }
            },
            "required": false
          },
          {
            "name": "due_end_date",
            "in": "query",
            "description": "Este parâmetro permite filtrar os faturamentos para incluir apenas itens com data de **vencimento até a data especificada**. Deve ser utilizado em conjunto com `due_start_date` para definir o intervalo de vencimento. O valor deve estar no formato **YYYY-MM-DD**",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-12-31"
              }
            },
            "required": false
          },
          {
            "name": "client_id",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Filtra os faturamentos de um determinado cliente",
            "required": false
          },
          {
            "name": "nfe_number",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Filtra os faturamentos por um Número de NFe",
            "required": false
          },
          {
            "name": "ticket_number",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Filtra os faturamentos relacionados ao ticket de número informado",
            "required": false
          },
          {
            "name": "_type",
            "required": false,
            "description": "Filtra os faturamentos pelo tipo de faturamento",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "billed",
                "reversed",
                "paid"
              ]
            },
            "examples": {
              "0": {
                "value": "",
                "summary": "Todos"
              },
              "1": {
                "value": "billed",
                "summary": "Faturado"
              },
              "2": {
                "value": "reversed",
                "summary": "Estornado"
              },
              "3": {
                "value": "paid",
                "summary": "Pago"
              }
            }
          }
        ],
        "description": "Este método lista os faturamentos realizados, retornando as informações do relatório histórico de faturamentos.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_reports_billings_history",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "billing_id": 2,
                    "billing_date": "2024-10-10",
                    "client_id": 23,
                    "client_name": "Breitenberg, Kreiger and Schumm",
                    "due_date": "2024-10-15",
                    "nfe_number": "4310034",
                    "paid": false,
                    "real_value": "755.90",
                    "reversal": false
                  },
                  {
                    "billing_id": 1,
                    "billing_date": "2024-08-22",
                    "client_id": 23,
                    "client_name": "Breitenberg, Kreiger and Schumm",
                    "due_date": "2024-08-27",
                    "nfe_number": "123123123",
                    "paid": false,
                    "real_value": "1000.00",
                    "reversal": true
                  }
                ]
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "due_start_date": [
                      "invalid datetime"
                    ],
                    "due_end_date": [
                      "can't be blank if :due_start_date is provided"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Faturar serviços avulsos e contratos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/role-groups": {
      "get": {
        "summary": "Listar grupos de permissões",
        "tags": [
          "Grupos de Permissões"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os grupos de permissões que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_role-groups",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "deletable": false,
                    "name": "Administrador"
                  },
                  {
                    "id": 21,
                    "deletable": false,
                    "name": "Clientes"
                  },
                  {
                    "id": 89,
                    "deletable": true,
                    "name": "Super técnicos"
                  },
                  {
                    "id": 78,
                    "deletable": true,
                    "name": "Técnico"
                  },
                  {
                    "id": 81,
                    "deletable": true,
                    "name": "Técnico"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "title": "Listar grupos de permissões",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID do grupo de permissões"
                      },
                      "deletable": {
                        "type": "boolean",
                        "description": "Indica se o grupo de permissões pode ser excluído. Grupos padrões não podem ser excluídos."
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do grupo de permissões"
                      }
                    },
                    "required": [
                      "id",
                      "deletable",
                      "name"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "offset": [
                      "must be greater than 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar grupos de permissão"
          }
        ]
      }
    },
    "/role-groups/{id}": {
      "get": {
        "summary": "Exibir grupo de permissões",
        "tags": [
          "Grupos de Permissões"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do grupo de permissões",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe informações detalhadas sobre um determinado grupo de permissões.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_role-groups_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 89,
                  "deletable": true,
                  "description": "Grupo dos super técnicos",
                  "name": "Super técnicos",
                  "roles": [
                    {
                      "id": 18,
                      "description": "Permite abrir e visualizar tickets, adicionar respostas e fazer upload de arquivos em tickets.",
                      "name": "Visualizar e abrir tickets"
                    },
                    {
                      "id": 19,
                      "description": "Permite editar as informações dos tickets existentes.",
                      "name": "Editar tickets"
                    },
                    {
                      "id": 20,
                      "description": "Mudar a prioridade e desativar SLA dos tickets.",
                      "name": "Mudar a prioridade e desativar SLA dos tickets"
                    },
                    {
                      "id": 21,
                      "description": "Permite inserir, remover e editar valorizações extras nos tickets.",
                      "name": "Inserir, remover e editar valorização extra"
                    },
                    {
                      "id": 22,
                      "description": "Permite editar e remover apontamentos de outros usuários.",
                      "name": "Editar apontamentos de todos"
                    }
                  ]
                },
                "schema": {
                  "type": "object",
                  "title": "Exibir grupo de permissões",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID do grupo de permissões"
                    },
                    "deletable": {
                      "type": "boolean",
                      "description": "Indica se o grupo de permissões pode ser excluído. Grupos padrões não podem ser excluídos."
                    },
                    "description": {
                      "type": "string",
                      "description": "Descrição do grupo de permissões"
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome do grupo de permissões"
                    },
                    "roles": {
                      "type": "array",
                      "description": "**Lista de permissões atribuídas a este grupo de permissões**",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID da permissão"
                          },
                          "description": {
                            "type": "string",
                            "description": "Descrição da permissão"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome da permissão"
                          }
                        },
                        "required": [
                          "id",
                          "description",
                          "name"
                        ]
                      }
                    }
                  },
                  "required": [
                    "id",
                    "deletable",
                    "name"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "id": [
                      "must be greater than 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Grupo de permissões não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find RoleGroup with 'id'=\"999999\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar grupos de permissão"
          }
        ]
      }
    },
    "/role-groups/{id}/users": {
      "get": {
        "summary": "Relacionamento com usuários",
        "tags": [
          "Grupos de Permissões"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do grupo de permissões",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "description": "Filtrar a busca de usuários pelo email",
            "schema": {
              "type": "string"
            }
          }
        ],
        "description": "Lista os usuários que estão relacionados com um determinado grupo de permissões.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_role-groups_id_users",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 109,
                    "_type": "attendant",
                    "active": true,
                    "email": "grimes_argelia@reichert.example",
                    "gauth_enabled": false,
                    "last_login_at": null,
                    "name": "Argelia Grimes",
                    "technical_group_id": 113
                  },
                  {
                    "id": 110,
                    "_type": "attendant",
                    "active": true,
                    "email": "wolf.avelina@blick-krajcik.example",
                    "gauth_enabled": false,
                    "last_login_at": null,
                    "name": "Avelina Wolf",
                    "technical_group_id": 114
                  },
                  {
                    "id": 111,
                    "_type": "attendant",
                    "active": true,
                    "email": "marietta.dr.stracke@hegmann.example",
                    "gauth_enabled": false,
                    "last_login_at": null,
                    "name": "Dr. Marietta Stracke",
                    "technical_group_id": 115
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID do grupo de permissões"
                      },
                      "_type": {
                        "type": "string",
                        "description": "Tipo de usuário",
                        "enum": [
                          "client",
                          "attendant",
                          "admin"
                        ],
                        "nullable": true
                      },
                      "active": {
                        "type": "boolean",
                        "description": "O usuário está ativo?"
                      },
                      "email": {
                        "type": "string",
                        "format": "email",
                        "description": "E-mail do usuário"
                      },
                      "gauth_enabled": {
                        "type": "boolean",
                        "description": "O usuário possui autenticação de dois fatores habilitada?"
                      },
                      "last_login_at": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data do último acesso do usuário"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do usuário"
                      },
                      "technical_group_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "ID do grupo de atendentes do usuário"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "email",
                      "gauth_enabled",
                      "active"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Grupo de permissões não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find RoleGroup with 'id'=\"99999\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "email inválido": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "email": [
                          "is too long (maximum is 255 characters)"
                        ]
                      }
                    }
                  },
                  "limit inválido": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "limit": [
                          "must be less than or equal to 200"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar grupos de permissão"
          }
        ]
      }
    },
    "/role-groups/{id}/technical-groups": {
      "get": {
        "summary": "Relacionamento com grupos de atendentes",
        "tags": [
          "Grupos de Permissões"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do grupo de permissões",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista os grupos de atendentes que estão relacionadas com um determinado grupo de permissões.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_role-groups_id_technical-groups",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 117,
                    "name": "Product Management"
                  },
                  {
                    "id": 118,
                    "name": "Sales"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID do grupo de atendentes"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do grupo de atendentes"
                      }
                    },
                    "required": [
                      "id",
                      "name"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Grupo de permissões não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find RoleGroup with 'id'=\"99999\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "ID inválido": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "id": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "limit inválido": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "limit": [
                          "must be less than or equal to 200"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar grupos de permissão"
          }
        ]
      }
    },
    "/tickets/{ticket_number}/appointments": {
      "post": {
        "summary": "Criar apontamento",
        "tags": [
          "Apontamentos"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1234
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Cria um apontamento em um determinado ticket.\n- Só é possível criar apontamentos em tickets de mesas configuradas com **apontamentos sem valorização**.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_tickets_ticket_number_appointments",
        "responses": {
          "201": {
            "description": "### **Apontamento criado**",
            "content": {
              "application/json": {
                "example": {
                  "id": 3,
                  "date": "2024-08-16",
                  "description": "Descrição do apontamento",
                  "end_time": "20:35",
                  "init_time": "17:30",
                  "user": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "**Identificador do apontamento**"
                    },
                    "date": {
                      "type": "string",
                      "format": "date",
                      "description": "Dia em que o atendimento foi realizado"
                    },
                    "init_time": {
                      "type": "string",
                      "description": "Horário de início do atendimento. No formato **HH:MM**"
                    },
                    "end_time": {
                      "type": "string",
                      "description": "Horário de fim do atendimento. No formato **HH:MM**"
                    },
                    "description": {
                      "type": "string",
                      "description": "Descrição do apontamento"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "**Identificador do usuário**"
                        },
                        "name": {
                          "type": "string",
                          "description": "Nome do usuário"
                        }
                      },
                      "description": "*Atendente que realizou o apontamento:*"
                    }
                  },
                  "required": [
                    "id",
                    "date",
                    "init_time",
                    "end_time",
                    "description",
                    "user"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Valor do número do ticket inválido": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "ticket_number": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Algum valor do corpo da requisição está inválido": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "description": [
                          "can't be blank"
                        ],
                        "date": [
                          "invalid date"
                        ],
                        "init_time": [
                          "field is incorrectly formatted. It should follow the 'HH:MM' pattern, with the maximum allowed value being 23:59"
                        ],
                        "end_time": [
                          "field is incorrectly formatted. It should follow the 'HH:MM' pattern, with the maximum allowed value being 23:59"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Criar e editar apontamentos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string",
                    "format": "date",
                    "description": "Dia que será criado o apontamento. Não é possível informar um dia futuro e são aceitos vários formatos, mas recomendamos informar em iso8601: **YYYY-MM-DD**",
                    "default": null
                  },
                  "init_time": {
                    "type": "string",
                    "description": "Horário de início do atendimento. No formato **HH:MM**"
                  },
                  "end_time": {
                    "type": "string",
                    "description": "Horário de fim do atendimento. No formato **HH:MM**"
                  },
                  "description": {
                    "type": "string",
                    "description": "Descrição do apontamento"
                  }
                },
                "required": [
                  "date",
                  "init_time",
                  "end_time",
                  "description"
                ]
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "date": "2024-08-16",
                    "description": "Descrição do apontamento",
                    "init_time": "17:30",
                    "end_time": "20:35"
                  }
                }
              }
            }
          },
          "required": true
        }
      },
      "get": {
        "summary": "Listar apontamentos",
        "tags": [
          "Apontamentos"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 321
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "user_id",
            "in": "query",
            "description": "Filtrar pelo ID do usuário que realizou o apontamento",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Retorna os apontamentos realizados a partir dessa data",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-08-15"
              }
            },
            "required": false
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Retorna os apontamentos realizados até essa data",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2030-05-21"
              }
            },
            "required": false
          }
        ],
        "description": "Lista os apontamentos de um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_appointments",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "examples": {
                  "Apontamento sem valorização": {
                    "value": [
                      {
                        "id": 1,
                        "client": {
                          "id": 27,
                          "name": "Flatley LLC"
                        },
                        "date": "2024-01-20",
                        "description": "this is an appointment without valorization",
                        "end_time": "13:42",
                        "init_time": "12:00",
                        "locations": [
                          {
                            "id": 1,
                            "latitude": "-26.27904",
                            "longitude": "-48.84677"
                          }
                        ],
                        "user": {
                          "id": 1,
                          "name": "Nancy Botsford DO"
                        },
                        "valorization": null
                      }
                    ]
                  },
                  "Apontamento com valorização": {
                    "value": [
                      {
                        "id": 2,
                        "client": {
                          "id": 27,
                          "name": "Flatley LLC"
                        },
                        "date": "2023-11-22",
                        "description": "this is an appointment with valorization",
                        "end_time": "13:42",
                        "init_time": "12:00",
                        "locations": [

                        ],
                        "user": {
                          "id": 1,
                          "name": "Nancy Botsford DO"
                        },
                        "valorization": {
                          "attendance": "External",
                          "attendance_kind": "Loose",
                          "contract": null,
                          "guarantee": false,
                          "loose_service": {
                            "id": 1,
                            "name": "Serviço avulso teste"
                          },
                          "manual_value": true,
                          "shift": {
                            "id": 1,
                            "name": "Deslocamento de carro até Joinville",
                            "value": "150.55"
                          },
                          "value": "170.05"
                        }
                      }
                    ]
                  }
                },
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do apontamento"
                      },
                      "client": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do client"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do cliente"
                          }
                        },
                        "description": "*Objeto representando o **cliente** vinculado no apontamento*"
                      },
                      "date": {
                        "type": "string",
                        "format": "date",
                        "description": "Dia em que o atendimento foi realizado"
                      },
                      "init_time": {
                        "type": "string",
                        "description": "Horário de início do atendimento. No formato **HH:MM**"
                      },
                      "end_time": {
                        "type": "string",
                        "description": "Horário de fim do atendimento. No formato **HH:MM**"
                      },
                      "description": {
                        "type": "string",
                        "description": "Descrição do apontamento"
                      },
                      "user": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do usuário"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do usuário"
                          }
                        },
                        "description": "*Objeto representando o **atendente** que realizou o apontamento*"
                      },
                      "locations": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "Identificador da geolocalização"
                            },
                            "latitude": {
                              "type": "string",
                              "description": "Latitude"
                            },
                            "longitude": {
                              "type": "string",
                              "description": "Longitude"
                            }
                          }
                        },
                        "description": "*Lista de **geolocalizações** vinculadas no apontamento*"
                      },
                      "valorization": {
                        "type": "object",
                        "properties": {
                          "attendance": {
                            "type": "string",
                            "description": "Atendimento: externo, remoto ou interno",
                            "enum": [
                              "External",
                              "Remote",
                              "Internal"
                            ]
                          },
                          "attendance_kind": {
                            "type": "string",
                            "description": "Tipo de atendimento: avulso ou contrato",
                            "enum": [
                              "Loose",
                              "Contract"
                            ]
                          },
                          "contract": {
                            "type": "object",
                            "nullable": true,
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Identificador do contrato"
                              },
                              "name": {
                                "type": "string",
                                "description": "Nome do contrato"
                              }
                            },
                            "description": "*Objeto representando o **contrato** vinculado no apontamento*"
                          },
                          "loose_service": {
                            "type": "object",
                            "nullable": true,
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Identificador do serviço avulso"
                              },
                              "name": {
                                "type": "string",
                                "description": "Nome do serviço avulso"
                              }
                            },
                            "description": "*Objeto representando o **serviço avulso** vinculado no apontamento*"
                          },
                          "guarantee": {
                            "type": "boolean",
                            "description": "Apontado como garantia?"
                          },
                          "manual_value": {
                            "type": "boolean",
                            "description": "Definido um valor manual?"
                          },
                          "shift": {
                            "type": "object",
                            "nullable": true,
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Identificador do deslocamento"
                              },
                              "name": {
                                "type": "string",
                                "description": "Nome do deslocamento"
                              },
                              "value": {
                                "type": "string",
                                "description": "Valor do deslocamento"
                              }
                            },
                            "description": "*Objeto representando o **deslocamento** vinculado no apontamento*"
                          },
                          "value": {
                            "type": "string",
                            "description": "Valor do apontamento"
                          }
                        },
                        "nullable": true,
                        "description": "*Este objeto contém as informações de **valorização do apontamento**. Suas informações de valores só serão preenchidas caso o apontamento seja um apontamento com valorização*"
                      }
                    },
                    "required": [
                      "id",
                      "client",
                      "date",
                      "init_time",
                      "end_time",
                      "description",
                      "user",
                      "locations",
                      "valorization"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "user_id": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Visualizar tickets em que eu não sou o responsável"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/desks": {
      "get": {
        "summary": "Listar mesas",
        "tags": [
          "Mesas de serviço"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "active",
            "in": "query",
            "description": "Com esse parâmetro é possível filtrar pelas mesas ativas e inativas",
            "required": false,
            "examples": {
              "Ativas": {
                "value": true
              },
              "Inativas": {
                "value": false
              }
            },
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Com esse parâmetro é possível filtrar as mesas de serviço pelo nome ou nome de exibição (name / display_name)",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "description": "Lista as mesas de serviço que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre: Lista as mesas que o usuário tem acesso"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "operationId": "get_desks",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 9,
                    "active": true,
                    "appointment_type": "Appointments with no Valorization",
                    "display_name": "API",
                    "name": "API"
                  }
                ]
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40304,
                  "message": "Access Denied - Missing required license",
                  "detail": {
                    "error": [
                      "You do not have the required 'tickets' license to access this route"
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Criar mesa",
        "tags": [
          "Mesas de serviço"
        ],
        "description": "Cria uma nova mesa de serviço na sua organização.",
        "parameters": [

        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_desks",
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 11,
                  "active": true,
                  "add_ticket_feedback": false,
                  "appointment_type": "Appointments with Valorization",
                  "attendance_type": "Only selected technical groups",
                  "behavior_billed_tickets": "answer_to_client_with_default_message",
                  "behavior_not_billed_tickets": "answer_to_client_with_default_message",
                  "can_reopen_revised_tickets": false,
                  "can_stop_sla": false,
                  "cancelable_tickets": false,
                  "default_revised": "5 day(s)",
                  "description": "Mesa criada para testes da API",
                  "desk_exchange": false,
                  "desk_with_sla": true,
                  "display_name": "Nome de exibição da mesa de serviço",
                  "internal_desk": false,
                  "name": "Nome da mesa de serviço",
                  "only_attendants_can_open": false,
                  "receiving_new_tickets": true,
                  "reminder": false,
                  "require_service_catalog_open_ticket": false,
                  "required_fields": null,
                  "review_type": null,
                  "services_catalog_item": false,
                  "sla_goal": null,
                  "summary": false,
                  "ticket_review": false,
                  "ticket_with_sla_time": false,
                  "time_limit_to_reopening": "7 day(s)",
                  "user_without_access_create_ticket": false
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "description": [
                      "can't be blank"
                    ],
                    "display_name": [
                      "can't be blank"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar mesas de serviços"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "Criação de mesa padrão": {
                  "summary": "Criação de mesa padrão",
                  "value": {
                    "name": "Nome da mesa de serviço",
                    "display_name": "Nome de exibição da mesa de serviço",
                    "description": "Mesa criada para testes da API"
                  }
                },
                "Criação de mesa com todos os campos": {
                  "summary": "Criação de mesa com todos os campos",
                  "value": {
                    "name": "Greenholt Group",
                    "display_name": "Greenholt",
                    "description": "Example desk",
                    "appointment_type": "Without Appointments",
                    "sla_goal": 80,
                    "receiving_new_tickets": true,
                    "desk_exchange": true,
                    "cancelable_tickets": true,
                    "require_service_catalog_open_ticket": false,
                    "services_catalog_item": false,
                    "desk_with_sla": true,
                    "ticket_with_sla_time": true,
                    "can_stop_sla": true,
                    "ticket_review": true,
                    "add_ticket_feedback": true,
                    "internal_desk": false,
                    "review_type": "review_submitter",
                    "default_revised": 7,
                    "can_reopen_revised_tickets": false,
                    "reminder": false,
                    "summary": true,
                    "behavior_not_billed_tickets": "answer_to_client_with_default_message",
                    "behavior_billed_tickets": "answer_to_client_with_default_message",
                    "time_limit_to_reopening": 14,
                    "attendance_type": "All technical groups",
                    "user_without_access_create_ticket": true,
                    "active": true,
                    "required_fields": {
                      "requestor_name": false,
                      "requestor_email": true,
                      "requestor_telephone": false,
                      "requestor_ramal": false,
                      "equipment_id": false,
                      "attachment_file": false
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/desks/{id}": {
      "get": {
        "summary": "Exibir mesa",
        "tags": [
          "Mesas de serviço"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da mesa de serviço",
            "example": 2,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe informações detalhadas sobre uma determinada mesa de serviço.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_desks_id",
        "responses": {
          "200": {
            "description": "Exibe uma mesa conforme o schema",
            "content": {
              "application/json": {
                "example": {
                  "id": 9,
                  "active": true,
                  "add_ticket_feedback": true,
                  "appointment_type": "Appointments with no Valorization",
                  "attendance_type": "Only selected technical groups",
                  "behavior_billed_tickets": "answer_to_client_with_default_message",
                  "behavior_not_billed_tickets": "reopen_ticket_closed",
                  "can_reopen_revised_tickets": false,
                  "can_stop_sla": true,
                  "cancelable_tickets": true,
                  "default_revised": "5 day(s)",
                  "description": "Esta é uma mesa de exemplo para ser utilizada em testes da API",
                  "desk_exchange": true,
                  "desk_with_sla": true,
                  "display_name": "API",
                  "internal_desk": false,
                  "name": "API",
                  "only_attendants_can_open": false,
                  "receiving_new_tickets": true,
                  "reminder": false,
                  "require_service_catalog_open_ticket": false,
                  "required_fields": {
                    "equipment_id": false,
                    "requestor_name": false,
                    "requestor_email": true,
                    "requestor_telephone": false,
                    "requestor_ramal": false,
                    "attachment_file": true
                  },
                  "review_type": "review_submitter_manager",
                  "services_catalog_item": false,
                  "sla_goal": 87,
                  "summary": true,
                  "ticket_review": true,
                  "ticket_with_sla_time": false,
                  "time_limit_to_reopening": "7 day(s)",
                  "user_without_access_create_ticket": false
                },
                "schema": {
                  "type": "object",
                  "title": "Exibir informações da mesa de serviço",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "ID da mesa"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "A mesa está ativa?"
                    },
                    "add_ticket_feedback": {
                      "type": "boolean",
                      "description": "Permite avaliar tickets?"
                    },
                    "appointment_type": {
                      "type": "string",
                      "description": "Tipo de apontamento"
                    },
                    "attendance_type": {
                      "type": "string",
                      "description": "Tipo de atendimento"
                    },
                    "behavior_billed_tickets": {
                      "type": "string",
                      "description": "Comportamento na reabertura de tickets faturados"
                    },
                    "behavior_not_billed_tickets": {
                      "type": "string",
                      "description": "Comportamento na reabertura de tickets não faturados"
                    },
                    "can_reopen_revised_tickets": {
                      "type": "boolean",
                      "description": "Pode reabrir tickets revisados?"
                    },
                    "can_stop_sla": {
                      "type": "boolean",
                      "description": "Pode parar/retomar o SLA?"
                    },
                    "cancelable_tickets": {
                      "type": "boolean",
                      "description": "Tickets podem ser cancelados?"
                    },
                    "default_revised": {
                      "type": "string",
                      "description": "Tipo de revisão"
                    },
                    "description": {
                      "type": "string",
                      "description": "Descrição da mesa"
                    },
                    "desk_exchange": {
                      "type": "boolean",
                      "description": "Troca de mesa permitida?"
                    },
                    "desk_with_sla": {
                      "type": "boolean",
                      "description": "Mesa com SLA ativo?"
                    },
                    "display_name": {
                      "type": "string",
                      "description": "Nome de exibição da mesa"
                    },
                    "internal_desk": {
                      "type": "boolean",
                      "description": "Mesa de uso interno?"
                    },
                    "name": {
                      "type": "string",
                      "description": "Nome da mesa"
                    },
                    "only_attendants_can_open": {
                      "type": "boolean",
                      "description": "Somente atendentes podem abrir o ticket?"
                    },
                    "receiving_new_tickets": {
                      "type": "boolean",
                      "description": "Está recebendo novos tickets?"
                    },
                    "reminder": {
                      "type": "boolean",
                      "description": "Enviar lembrete no e-mail do solicitante?"
                    },
                    "require_service_catalog_open_ticket": {
                      "type": "boolean",
                      "description": "Exige catálogo de serviços para abrir ticket?"
                    },
                    "required_fields": {
                      "type": "object",
                      "description": "Campos obrigatórios para abertura de ticket",
                      "properties": {
                        "equipment_id": {
                          "type": "boolean",
                          "description": "Grupo de recurso"
                        },
                        "requestor_name": {
                          "type": "boolean",
                          "description": "Nome do solicitante"
                        },
                        "requestor_email": {
                          "type": "boolean",
                          "description": "Email do solicitante"
                        },
                        "requestor_telephone": {
                          "type": "boolean",
                          "description": "Telefone do solicitante"
                        },
                        "requestor_ramal": {
                          "type": "boolean",
                          "description": "Ramal do solicitante"
                        },
                        "attachment_file": {
                          "type": "boolean",
                          "description": "Anexos"
                        }
                      },
                      "required": [
                        "equipment_id",
                        "requestor_name",
                        "requestor_email",
                        "requestor_telephone",
                        "requestor_ramal",
                        "attachment_file"
                      ]
                    },
                    "review_type": {
                      "type": "string",
                      "description": "Tipo de revisão configurado"
                    },
                    "services_catalog_item": {
                      "type": "boolean",
                      "description": "Exige catálogo de serviços para fechar ticket?"
                    },
                    "sla_goal": {
                      "type": "integer",
                      "description": "Meta de SLA"
                    },
                    "summary": {
                      "type": "boolean",
                      "description": "Enviar resumo no e-mail do solicitante?"
                    },
                    "ticket_review": {
                      "type": "boolean",
                      "description": "Exige revisão de ticket?"
                    },
                    "ticket_with_sla_time": {
                      "type": "boolean",
                      "description": "Permite adicionar tempo de SLA?"
                    },
                    "time_limit_to_reopening": {
                      "type": "string",
                      "description": "Tempo limite para reabertura"
                    },
                    "user_without_access_create_ticket": {
                      "type": "boolean",
                      "description": "Atendentes sem acesso podem criar ticket?"
                    }
                  },
                  "required": [
                    "id",
                    "active",
                    "add_ticket_feedback",
                    "appointment_type",
                    "attendance_type",
                    "behavior_billed_tickets",
                    "behavior_not_billed_tickets",
                    "can_reopen_revised_tickets",
                    "can_stop_sla",
                    "cancelable_tickets",
                    "default_revised",
                    "description",
                    "desk_exchange",
                    "desk_with_sla",
                    "display_name",
                    "internal_desk",
                    "name",
                    "receiving_new_tickets",
                    "reminder",
                    "require_service_catalog_open_ticket",
                    "required_fields",
                    "summary",
                    "ticket_review",
                    "ticket_with_sla_time",
                    "time_limit_to_reopening",
                    "user_without_access_create_ticket"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Mesa não encontrada**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Desk with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar mesas de serviços"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/desks/{id}/priorities": {
      "get": {
        "summary": "Listar prioridades",
        "tags": [
          "Mesas de serviço"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da mesa de serviço",
            "example": 2,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista as prioridades cadastradas em uma determinada mesa de serviço.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "operationId": "get_desks_id_priorities",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 17,
                    "end_time": "24:00",
                    "name": "High",
                    "order": 1,
                    "start_time": "04:00"
                  },
                  {
                    "id": 18,
                    "end_time": "48:00",
                    "name": "Low",
                    "order": 2,
                    "start_time": "10:00"
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Mesa não encontrada**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Desk with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta pode ter dois significados:\n1. Que o seu usuário está autenticado corretamente, porém, não possui a licença necessária para acessar essa rota.\n2. Você não pode listar prioridades de mesas em que seu usuário não possui acesso",
            "content": {
              "application/json": {
                "examples": {
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  },
                  "Sem acesso a mesa": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que seu usuário não tem permissão para acessar ou listar as prioridades da mesa solicitada. Embora você esteja autenticado, as permissões do seu perfil não incluem acesso a este recurso específico.\n\nPara corrigir, confirme o ID da mesa informada. Se estiver correto, entre em contato com o administrador do sistema e solicite que seu usuário seja vinculado à mesa desejada.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      }
    },
    "/desks/{id}/stages": {
      "get": {
        "summary": "Listar estágios",
        "tags": [
          "Mesas de serviço"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da mesa de serviço",
            "example": 2,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os estágios cadastrados em uma determinada mesa de serviço.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "operationId": "get_desks_id_stages",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 27,
                    "first_stage": true,
                    "index": 1,
                    "last_stage": false,
                    "max_time": "04:00",
                    "name": "Pending"
                  },
                  {
                    "id": 28,
                    "first_stage": false,
                    "index": 2,
                    "last_stage": false,
                    "max_time": "04:00",
                    "name": "N1"
                  },
                  {
                    "id": 29,
                    "first_stage": false,
                    "index": 3,
                    "last_stage": true,
                    "max_time": "",
                    "name": "Closed"
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Mesa não encontrada**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Desk with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta pode ter dois significados:\n1. Que o seu usuário está autenticado corretamente, porém, não possui a licença necessária para acessar essa rota.\n2. Você não pode listar estágios de mesas em que seu usuário não possui acesso",
            "content": {
              "application/json": {
                "examples": {
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  },
                  "Sem acesso a mesa": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que seu usuário não tem permissão para acessar ou listar os estágios da mesa solicitada. Embora você esteja autenticado, as permissões do seu perfil não incluem acesso a este recurso específico.\n\nPara corrigir, confirme o ID da mesa informada. Se estiver correto, entre em contato com o administrador do sistema e solicite que seu usuário seja vinculado à mesa desejada.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      }
    },
    "/desks/{id}/services-catalogs": {
      "get": {
        "summary": "Listar catálogos de serviços",
        "tags": [
          "Mesas de serviço"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da mesa de serviço",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os catálogos de serviços que estão relacionados com uma determinada mesa de serviço.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "operationId": "get_desks_id_services-catalogs",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 6,
                    "name": "Catálogo 1"
                  },
                  {
                    "id": 7,
                    "name": "Catálogo 2"
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Mesa não encontrada**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Desk with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta pode ter dois significados:\n1. Que o seu usuário está autenticado corretamente, porém, não possui a licença necessária para acessar essa rota.\n2. Você não pode listar catálogos de serviços de mesas em que seu usuário não possui acesso",
            "content": {
              "application/json": {
                "examples": {
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  },
                  "Sem acesso a mesa": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que seu usuário não tem permissão para acessar ou listar os catálogos de serviços da mesa solicitada. Embora você esteja autenticado, as permissões do seu perfil não incluem acesso a este recurso específico.\n\nPara corrigir, confirme o ID da mesa informada. Se estiver correto, entre em contato com o administrador do sistema e solicite que seu usuário seja vinculado à mesa desejada.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      }
    },
    "/desks/{id}/services-catalogs-items": {
      "get": {
        "summary": "Listar itens de catálogos de serviços",
        "tags": [
          "Mesas de serviço"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da mesa de serviço",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "area_id",
            "in": "query",
            "description": "ID da área de serviços",
            "example": 25,
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "catalog_id",
            "in": "query",
            "description": "ID do catálogo de serviços",
            "example": 3,
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os itens de catálogos de serviços que estão relacionados com uma determinada mesa de serviço.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "operationId": "get_desks_id_services-catalogs-items",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 6,
                    "area": {
                      "id": 6,
                      "name": "Dúvidas"
                    },
                    "catalog": {
                      "id": 8,
                      "name": "Infraestrutura"
                    },
                    "end_time": "00:15",
                    "name": "Geral",
                    "start_time": "00:11"
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Mesa não encontrada**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Desk with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta pode ter dois significados:\n1. Que o seu usuário está autenticado corretamente, porém, não possui a licença necessária para acessar essa rota.\n2. Você não pode listar itens de catálogos de serviços de mesas em que seu usuário não possui acesso",
            "content": {
              "application/json": {
                "examples": {
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  },
                  "Sem acesso a mesa": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que seu usuário não tem permissão para acessar ou listar os itens de catálogos de serviços da mesa solicitada. Embora você esteja autenticado, as permissões do seu perfil não incluem acesso a este recurso específico.\n\nPara corrigir, confirme o ID da mesa informada. Se estiver correto, entre em contato com o administrador do sistema e solicite que seu usuário seja vinculado à mesa desejada.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      }
    },
    "/tickets/{ticket_number}/internal_communications": {
      "get": {
        "summary": "Listar comunicações internas",
        "tags": [
          "Comunicações internas dos tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista as comunicações internas que existem em um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_internal_communications",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "created_at": "2026-04-28T21:28:31Z",
                    "files_count": 1,
                    "github_username": null,
                    "jira_username": null,
                    "text": "teste",
                    "updated_at": "2026-04-28T21:28:31Z",
                    "user": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    }
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "ticket_number": [
                      "is not a number"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e adicionar mensagens na comunicação interna"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "post": {
        "summary": "Criar comunicação interna",
        "tags": [
          "Comunicações internas dos tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Cria uma nova comunicação interna em um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_tickets_ticket_number_internal_communications",
        "responses": {
          "201": {
            "description": "### **Comunicação interna criada com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 2,
                  "created_at": "2026-04-28T21:28:32Z",
                  "files": [
                    {
                      "id": 2,
                      "content_type": "image/png",
                      "file_name": "missing.png",
                      "size": 5265,
                      "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                    }
                  ],
                  "files_count": 1,
                  "github_username": null,
                  "jira_username": null,
                  "text": "<div>Teste!</div>",
                  "updated_at": "2026-04-28T21:28:32Z",
                  "user": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador da comunicação interna"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Data da criação da comunicação interna"
                    },
                    "files": {
                      "type": "array",
                      "description": "Lista contendo os arquivos que estão anexados na comunicação interna",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do arquivo"
                          },
                          "content_type": {
                            "type": "string",
                            "description": "Formato do arquivo"
                          },
                          "file_name": {
                            "type": "string",
                            "description": "Nome do arquivo"
                          },
                          "size": {
                            "type": "integer",
                            "description": "Tamanho do arquivo em bytes"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "files_count": {
                      "type": "integer",
                      "description": "Contador do total de arquivos anexados"
                    },
                    "github_username": {
                      "type": "string",
                      "nullable": true,
                      "description": "Se a comunicação foi criada pelo github, esse atributo conterá o username github do usuário que a criou"
                    },
                    "jira_username": {
                      "type": "string",
                      "nullable": true,
                      "description": "Se a comunicação foi criada pelo jira, esse atributo conterá o username jira do usuário que a criou"
                    },
                    "text": {
                      "type": "string",
                      "description": "O texto da comunicação interna em formato HTML"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "Data da última atualização da comunicação interna"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "nullable": true,
                          "description": "Identificador do usuário que criou a comunicação interna"
                        },
                        "name": {
                          "type": "string",
                          "nullable": true,
                          "description": "Nome do usuário que criou a comunicação interna"
                        }
                      }
                    }
                  },
                  "required": [
                    "id",
                    "created_at",
                    "files_count",
                    "text",
                    "updated_at"
                  ]
                }
              }
            }
          },
          "415": {
            "description": "### **Erro com o Content-Type informado**\nEsse erro ocorre ao enviar uma requisição que não contenha o tipo multipart/form-data",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 41501,
                  "message": "This request requires a multipart/form-data body, but NONE or a different format was received",
                  "detail": {
                    "error": [
                      "The request was sent in an invalid format and could not be processed"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Problema com o número do ticket": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "ticket_number": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Problema com o texto da comunicação": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "text": [
                          "can't be blank"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e adicionar mensagens na comunicação interna"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Conteúdo da comunicação interna"
                  },
                  "files[]": {
                    "type": "array",
                    "description": "Lista com os arquivos que serão anexados na comunicação interna.\n\nEsse parâmetro deve respeitar os seguintes critérios, para os anexos serem anexados corretamente na comunicação interna:\n- O valor desse parâmetro deve ser uma lista de arquivos\n- É permitido anexar no máximo 10 arquivos por requisição\n- Cada arquivo deve possuir no máx 25 megabytes",
                    "maxItems": 10,
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          },
          "required": true,
          "description": "O body dessa requisição é do tipo multipart/form-data e aceita os seguintes atributos:"
        }
      }
    },
    "/tickets/{ticket_number}/internal_communications/{id}": {
      "get": {
        "summary": "Exibir comunicação interna",
        "tags": [
          "Comunicações internas dos tickets"
        ],
        "description": "Exibe informações detalhadas de uma comunicação interna de um determinado ticket.",
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID da comunicação interna",
            "examples": {
              "Exemplo 1": {
                "value": 3
              }
            },
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_internal_communications_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "created_at": "2026-04-28T21:28:31Z",
                  "files": [
                    {
                      "id": 1,
                      "content_type": "image/png",
                      "file_name": "api.png",
                      "size": 1234,
                      "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                    }
                  ],
                  "files_count": 1,
                  "github_username": null,
                  "jira_username": null,
                  "text": "teste",
                  "updated_at": "2026-04-28T21:28:31Z",
                  "user": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador da comunicação interna"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Data da criação da comunicação interna"
                    },
                    "files": {
                      "type": "array",
                      "description": "Lista contendo os arquivos que estão anexados na comunicação interna",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do arquivo"
                          },
                          "content_type": {
                            "type": "string",
                            "description": "Formato do arquivo"
                          },
                          "file_name": {
                            "type": "string",
                            "description": "Nome do arquivo"
                          },
                          "size": {
                            "type": "integer",
                            "description": "Tamanho do arquivo em bytes"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "files_count": {
                      "type": "integer",
                      "description": "Contador do total de arquivos anexados"
                    },
                    "github_username": {
                      "type": "string",
                      "nullable": true,
                      "description": "Se a comunicação foi criada pelo github, esse atributo conterá o username github do usuário que a criou"
                    },
                    "jira_username": {
                      "type": "string",
                      "nullable": true,
                      "description": "Se a comunicação foi criada pelo jira, esse atributo conterá o username jira do usuário que a criou"
                    },
                    "text": {
                      "type": "string",
                      "description": "O texto da comunicação interna em formato HTML"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "Data da última atualização da comunicação interna"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "nullable": true,
                          "description": "Identificador do usuário que criou a comunicação interna"
                        },
                        "name": {
                          "type": "string",
                          "nullable": true,
                          "description": "Nome do usuário que criou a comunicação interna"
                        }
                      }
                    }
                  },
                  "required": [
                    "id",
                    "created_at",
                    "files_count",
                    "text",
                    "updated_at"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket ou comunicação interna não encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::InternalCommunication with 'id'=\"99999\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "ticket_number": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e adicionar mensagens na comunicação interna"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "put": {
        "summary": "Atualizar comunicação interna",
        "tags": [
          "Comunicações internas dos tickets"
        ],
        "description": "Atualiza informações de uma comunicação interna em um determinado ticket.\n- Um usuário só pode atualizar comunicações internas que ele próprio criou.",
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID da comunicação interna",
            "examples": {
              "Exemplo 1": {
                "value": 3
              }
            },
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_tickets_ticket_number_internal_communications_id",
        "responses": {
          "200": {
            "description": "### **Comunicação interna atualizada com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "created_at": "2026-04-28T21:28:31Z",
                  "files": [
                    {
                      "id": 1,
                      "content_type": "image/png",
                      "file_name": "api.png",
                      "size": 1234,
                      "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                    }
                  ],
                  "files_count": 1,
                  "github_username": null,
                  "jira_username": null,
                  "text": "<div>Este é o novo texto</div>",
                  "updated_at": "2026-04-28T21:28:33Z",
                  "user": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador da comunicação interna"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Data da criação da comunicação interna"
                    },
                    "files": {
                      "type": "array",
                      "description": "Lista contendo os arquivos que estão anexados na comunicação interna",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do arquivo"
                          },
                          "content_type": {
                            "type": "string",
                            "description": "Formato do arquivo"
                          },
                          "file_name": {
                            "type": "string",
                            "description": "Nome do arquivo"
                          },
                          "size": {
                            "type": "integer",
                            "description": "Tamanho do arquivo em bytes"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "files_count": {
                      "type": "integer",
                      "description": "Contador do total de arquivos anexados"
                    },
                    "github_username": {
                      "type": "string",
                      "nullable": true,
                      "description": "Se a comunicação foi criada pelo github, esse atributo conterá o username github do usuário que a criou"
                    },
                    "jira_username": {
                      "type": "string",
                      "nullable": true,
                      "description": "Se a comunicação foi criada pelo jira, esse atributo conterá o username jira do usuário que a criou"
                    },
                    "text": {
                      "type": "string",
                      "description": "O texto da comunicação interna em formato HTML"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "Data da última atualização da comunicação interna"
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "nullable": true,
                          "description": "Identificador do usuário que criou a comunicação interna"
                        },
                        "name": {
                          "type": "string",
                          "nullable": true,
                          "description": "Nome do usuário que criou a comunicação interna"
                        }
                      }
                    }
                  },
                  "required": [
                    "id",
                    "created_at",
                    "files_count",
                    "text",
                    "updated_at"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket ou comunicação interna não encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 99999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Problema com o número do ticket": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "ticket_number": [
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Problema com o texto da comunicação": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "text": [
                          "can't be blank"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta pode ter 3 significados, dependendo do código de erro obtido:\n- **40301:** O seu grupo de permissões não possui a permissão necessária para acessar esta rota.\n- **40302:** Você está tentando atualizar uma comunicação criada por outro usuário.\n- **40304:** O seu usuário não possui a licença necessária para acessar esta rota.",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Não é possível atualizar comunicações de outro usuário": {
                    "value": {
                      "error_code": 40302,
                      "message": "Access Denied - Unauthorized parameter usage",
                      "detail": {
                        "error": [
                          "You cannot update an internal_communication of another user"
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e adicionar mensagens na comunicação interna"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Novo texto da comunicação interna"
                  }
                },
                "required": [
                  "text"
                ]
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "text": "<div>Este é o novo texto</div>"
                  }
                }
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "summary": "Excluir comunicação interna",
        "tags": [
          "Comunicações internas dos tickets"
        ],
        "description": "Remove uma comunicação interna de um determinado ticket.\n- Um usuário só pode excluir comunicações internas que ele próprio criou.",
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID da comunicação interna",
            "examples": {
              "Exemplo 1": {
                "value": 3
              }
            },
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_tickets_ticket_number_internal_communications_id",
        "responses": {
          "204": {
            "description": "### **Comunicação interna removida com sucesso**\nEssa resposta não contem body"
          },
          "404": {
            "description": "### **Ticket ou comunicação interna não encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 99999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "ticket_number": [
                      "is not a number"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta pode ter 3 significados, dependendo do código de erro obtido:\n- **40301:** O seu grupo de permissões não possui a permissão necessária para acessar esta rota.\n- **40302:** Você está tentando excluir uma comunicação criada por outro usuário.\n- **40304:** O seu usuário não possui a licença necessária para acessar esta rota.",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Não é possível excluir comunicações de outro usuário": {
                    "value": {
                      "error_code": 40302,
                      "message": "Access Denied - Unauthorized parameter usage",
                      "detail": {
                        "error": [
                          "You cannot delete an internal_communication of another user"
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e adicionar mensagens na comunicação interna"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/tickets/{ticket_number}/pre-appointments": {
      "post": {
        "summary": "Criar pré-apontamento",
        "tags": [
          "Pré-apontamentos"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1234
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "_action",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "play",
                "stop"
              ]
            },
            "examples": {
              "1": {
                "value": "play",
                "summary": "Cria um pré-apontamento"
              },
              "2": {
                "value": "stop",
                "summary": "Pausa o último pré-apontamento criado"
              }
            }
          }
        ],
        "externalDocs": {
          "description": "Para saber mais sobre o funcionamento do _Play Apontamento_ no tiflux, consulte esta seção do nosso guia de uso",
          "url": "https://guia-de-uso.tiflux.com/sistema/tickets/informacoes-gerais#play-apontamento"
        },
        "description": "Inicia ou pausa um pré-apontamento em um determinado ticket, replicando a funcionalidade de *Play Apontamento* dentro dos tickets.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_tickets_ticket_number_pre-appointments",
        "responses": {
          "201": {
            "description": "### **Pré-apontamento criado/iniciado**\nUtilizando `_action = play`",
            "content": {
              "application/json": {
                "example": {
                  "id": 2,
                  "date": "2026-04-28",
                  "end_time": null,
                  "init_time": "18:28",
                  "user": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  }
                }
              }
            }
          },
          "200": {
            "description": "### **Pré-apontamento pausado**\nUtilizando `_action = stop`",
            "content": {
              "application/json": {
                "example": {
                  "id": 3,
                  "date": "2026-04-28",
                  "end_time": "18:28",
                  "init_time": "14:35",
                  "user": {
                    "id": 1,
                    "name": "Nancy Botsford DO"
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "_action": [
                      "Dois! is not a valid action. action must be 'play' or 'stop'"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Criar e editar apontamentos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "get": {
        "summary": "Listar pré-apontamentos",
        "tags": [
          "Pré-apontamentos"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os pré-apontamentos em um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_pre-appointments",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 3,
                    "date": "2026-04-28",
                    "end_time": null,
                    "init_time": "14:35",
                    "user": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    }
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "limit": [
                      "is not a number"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Criar e editar apontamentos"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/pre-tickets": {
      "get": {
        "summary": "Listar pré-tickets",
        "tags": [
          "Pré-Tickets"
        ],
        "description": "Lista os pré-tickets da sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "archived",
            "in": "query",
            "description": "Filtrar por pré-tickets arquivados (true/false)",
            "examples": {
              "0": {
                "value": true
              },
              "1": {
                "value": false
              }
            },
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "description": "Filtrar por ID do cliente",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "created_after",
            "in": "query",
            "format": "date",
            "description": "Filtrar por data mínima de criação (YYYY-MM-DD)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_before",
            "in": "query",
            "format": "date",
            "description": "Filtrar por data máxima de criação (YYYY-MM-DD)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "get_pre-tickets",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 3,
                    "archived": false,
                    "archived_by_user": null,
                    "client": {
                      "id": 30,
                      "name": "Wiza Group"
                    },
                    "created_at": "2026-04-28T21:28:35Z",
                    "created_by_way_of": "Tiflux Web",
                    "description": "Iste nostrum alias. Ad rerum atque. Nostrum quasi aperiam.",
                    "equipment": null,
                    "requestor_email": "oliver@pfannerstill.example",
                    "requestor_name": "Burton Roob Jr.",
                    "requestor_ramal": "6332",
                    "requestor_telephone": "+5545999999999",
                    "title": "Et sint consequatur dolorem omnis.",
                    "updated_at": "2026-04-28T21:28:35Z"
                  },
                  {
                    "id": 2,
                    "archived": false,
                    "archived_by_user": null,
                    "client": {
                      "id": 30,
                      "name": "Wiza Group"
                    },
                    "created_at": "2026-04-28T21:28:35Z",
                    "created_by_way_of": "Tiflux Web",
                    "description": "Sit autem excepturi. Corrupti eum sed. A debitis quia.",
                    "equipment": null,
                    "requestor_email": "kellye@bruen.example",
                    "requestor_name": "Temeka Bergnaum V",
                    "requestor_ramal": "5531",
                    "requestor_telephone": "+5545999999999",
                    "title": "Recusandae qui qui eum aut.",
                    "updated_at": "2026-04-28T21:28:35Z"
                  },
                  {
                    "id": 1,
                    "archived": false,
                    "archived_by_user": null,
                    "client": {
                      "id": 30,
                      "name": "Wiza Group"
                    },
                    "created_at": "2026-04-28T21:28:35Z",
                    "created_by_way_of": "Tiflux Web",
                    "description": "Dolorem debitis ipsa. Veritatis voluptatem totam. Velit et rerum.",
                    "equipment": null,
                    "requestor_email": "jamika.dickens@strosin-schiller.example",
                    "requestor_name": "Ronald Leannon",
                    "requestor_ramal": "6215",
                    "requestor_telephone": "+5545999999999",
                    "title": "Reprehenderit sit corporis officia qui.",
                    "updated_at": "2026-04-28T21:28:35Z"
                  }
                ],
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer"
                      },
                      "archived": {
                        "type": "boolean"
                      },
                      "archived_by_user": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "name": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "client": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "name": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "created_at": {
                        "type": "string"
                      },
                      "created_by_way_of": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "equipment": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "name": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "requestor_email": {
                        "type": "string"
                      },
                      "requestor_name": {
                        "type": "string"
                      },
                      "requestor_ramal": {
                        "type": "string",
                        "nullable": true
                      },
                      "requestor_telephone": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "updated_at": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "archived",
                      "archived_by_user",
                      "client",
                      "created_at",
                      "created_by_way_of",
                      "description",
                      "equipment",
                      "requestor_email",
                      "requestor_name",
                      "requestor_ramal",
                      "requestor_telephone",
                      "title",
                      "updated_at"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "archived": [
                      "teste is not a valid option. Archived must be 'true' or 'false'"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar pré-tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "post": {
        "summary": "Criar pré-ticket",
        "tags": [
          "Pré-Tickets"
        ],
        "description": "Cria um novo pré-ticket.",
        "parameters": [

        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_pre-tickets",
        "responses": {
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Atributo title não informado": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "title": [
                          "can't be blank"
                        ]
                      }
                    }
                  },
                  "Atributo description não informado": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "description": [
                          "can't be blank"
                        ]
                      }
                    }
                  },
                  "Atributo requestor_telephone não informado": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "requestor_telephone": [
                          "can't be blank",
                          "Is not a valid phone number"
                        ]
                      }
                    }
                  },
                  "Atributo requestor_name não informado": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "requestor_name": [
                          "can't be blank"
                        ]
                      }
                    }
                  },
                  "Atributo requestor_email não informado": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "requestor_email": [
                          "can't be blank",
                          "is invalid"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 4,
                  "archived": false,
                  "archived_by_user": null,
                  "client": {
                    "id": 30,
                    "name": "Wiza Group"
                  },
                  "created_at": "2026-04-28T21:28:36Z",
                  "created_by_way_of": "Tiflux Web",
                  "custom_external_form": false,
                  "description": "Descrição do pré-ticket",
                  "equipment": null,
                  "files": [

                  ],
                  "requestor_email": "email@email.com",
                  "requestor_name": "Nome do solicitante",
                  "requestor_ramal": "2941",
                  "requestor_telephone": "+5545999999999",
                  "title": "Título do pré-ticket",
                  "updated_at": "2026-04-28T21:28:36Z"
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "archived": {
                      "type": "boolean"
                    },
                    "archived_by_user": {
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "client": {
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "created_at": {
                      "type": "string"
                    },
                    "created_by_way_of": {
                      "type": "string"
                    },
                    "custom_external_form": {
                      "type": "boolean"
                    },
                    "description": {
                      "type": "string"
                    },
                    "equipment": {
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    },
                    "files": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "content_type": {
                            "type": "string"
                          },
                          "file_name": {
                            "type": "string"
                          },
                          "size": {
                            "type": "integer"
                          },
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "content_type",
                          "file_name",
                          "size",
                          "url"
                        ]
                      }
                    },
                    "requestor_email": {
                      "type": "string"
                    },
                    "requestor_name": {
                      "type": "string"
                    },
                    "requestor_ramal": {
                      "type": "string",
                      "nullable": true
                    },
                    "requestor_telephone": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "updated_at": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "archived",
                    "archived_by_user",
                    "client",
                    "created_at",
                    "created_by_way_of",
                    "custom_external_form",
                    "description",
                    "equipment",
                    "requestor_email",
                    "requestor_name",
                    "requestor_ramal",
                    "requestor_telephone",
                    "title",
                    "updated_at"
                  ]
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar pré-tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "Título do pré-ticket",
                    "example": "Pré-ticket criado via API"
                  },
                  "description": {
                    "type": "string",
                    "description": "Descrição do pré-ticket",
                    "example": "Descrição do pré-ticket"
                  },
                  "requestor_name": {
                    "type": "string",
                    "description": "Nome do solicitante",
                    "example": "Nome do solicitante"
                  },
                  "requestor_ramal": {
                    "type": "integer",
                    "description": "Ramal do solicitante",
                    "example": 555
                  },
                  "requestor_email": {
                    "type": "string",
                    "description": "Email do solicitante",
                    "example": "teste@email.com"
                  },
                  "requestor_telephone": {
                    "type": "string",
                    "description": "Telefone do solicitante",
                    "example": "(47) 999999999"
                  },
                  "requestor_country": {
                    "type": "string",
                    "description": "Código do País do solicitante",
                    "examples": [
                      "BR",
                      "US"
                    ]
                  },
                  "client_id": {
                    "type": "integer",
                    "description": "ID do Cliente",
                    "example": 29
                  },
                  "files[]": {
                    "type": "array",
                    "description": "Lista com os arquivos que serão anexados no pré-ticket.\n\nEsse parâmetro deve respeitar os seguintes critérios, para os anexos serem anexados corretamente no pré-ticket:\n- O valor desse parâmetro deve ser uma lista de arquivos\n- É permitido anexar no máximo 10 arquivos por requisição\n- Cada arquivo deve possuir no máx 25 megabytes",
                    "maxItems": 10,
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                },
                "required": [
                  "title",
                  "description",
                  "requestor_name",
                  "requestor_email",
                  "requestor_telephone"
                ]
              }
            }
          },
          "required": true,
          "description": "O body dessa requisição é do tipo multipart/form-data e aceita os seguintes atributos:"
        }
      }
    },
    "/clients/{client_id}/requestors": {
      "get": {
        "summary": "Listar solicitantes",
        "tags": [
          "Solicitantes"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "client_id",
            "in": "path",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Buscar os solicitantes pelo nome",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extension",
            "in": "query",
            "required": false,
            "description": "Buscar os solicitantes pelo ramal",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "description": "Buscar os solicitantes pelo email",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "telephone",
            "in": "query",
            "required": false,
            "description": "Buscar os solicitantes pelo número do telefone (**IMPORTANTE:** sem o código de país e não utilizar símbolos ou espaços)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "can_open_ticket",
            "in": "query",
            "required": false,
            "description": "Filtrar pelos solicitantes que podem ou não abrir tickets por email",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_entity_fields",
            "in": "query",
            "required": false,
            "description": "Incluir os campos personalizados no retorno dessa requisição. Ao informar esse parâmetro como **true**, será adicionado um atributo de nome `entity_fields` na resposta dessa requisição. Contendo a lista de campos personalizados vinculados aos solicitantes",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "description": "Lista os solicitantes que existem em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_client_id_requestors",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "examples": {
                  "Lista de solicitantes": {
                    "value": [
                      {
                        "id": 30,
                        "can_open_ticket": false,
                        "email": "gottlieb.susannah@oreilly.example",
                        "extension": "111",
                        "name": "Susannah Gottlieb",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 31,
                        "can_open_ticket": false,
                        "email": "hirthe.zona@conn.test",
                        "extension": "695",
                        "name": "Zona Hirthe",
                        "telephone": "+5547999999999"
                      }
                    ]
                  },
                  "Lista de solicitantes com campos personalizados": {
                    "value": [
                      {
                        "id": 30,
                        "can_open_ticket": false,
                        "email": "gottlieb.susannah@oreilly.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "111",
                        "name": "Susannah Gottlieb",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 31,
                        "can_open_ticket": false,
                        "email": "hirthe.zona@conn.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "695",
                        "name": "Zona Hirthe",
                        "telephone": "+5547999999999"
                      }
                    ]
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "can_open_ticket precisa ser um valor booleano": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "can_open_ticket": [
                          "teste is not a valid option. 'Can open ticket' must be 'true' or 'false'"
                        ]
                      }
                    }
                  },
                  "include_entity_fields precisa ser um valor booleano": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "include_entity_fields": [
                          "teste is not a valid option. 'Include entity fields' must be 'true' or 'false'"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      },
      "post": {
        "summary": "Criar solicitante",
        "tags": [
          "Solicitantes"
        ],
        "description": "Criar um novo solicitante em um determinado cliente.",
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_clients_client_id_requestors",
        "responses": {
          "201": {
            "description": "### **Solicitante criado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 32,
                  "can_open_ticket": true,
                  "email": "patrick_schowalter@bauch.test",
                  "entities": [
                    {
                      "id": 14,
                      "active": true,
                      "applied_in": "solicitant",
                      "description": "Campo personalizado aplicado em solicitantes",
                      "entity_fields": [
                        {
                          "id": null,
                          "entity_field_id": 67,
                          "entity_id": 14,
                          "field_type": "text",
                          "name": "Campo de texto",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 68,
                          "entity_id": 14,
                          "field_type": "email",
                          "name": "Campo de email",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 69,
                          "entity_id": 14,
                          "field_type": "date",
                          "name": "Campo de data",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 70,
                          "entity_id": 14,
                          "field_type": "single_select",
                          "name": "Campo de Seleção única",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 71,
                          "entity_id": 14,
                          "field_type": "checkbox",
                          "name": "Campo de Checkbox",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        }
                      ],
                      "menu_item": false,
                      "name": "Teste"
                    }
                  ],
                  "extension": "555",
                  "name": "Nome do solicitante",
                  "telephone": "+5532916256157"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "email": [
                      "is invalid"
                    ],
                    "name": [
                      "can't be blank"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Não informou um body pra requisição**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40003,
                  "message": "Missing required parameters. The request's body is invalid",
                  "detail": {
                    "error": [
                      "param is missing or the value is empty: requestor"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find Client with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "Número brasileiro": {
                  "summary": "Número brasileiro",
                  "value": {
                    "name": "Nome do solicitante",
                    "telephone": "+55 (32) 91625-6157",
                    "email": "patrick_schowalter@bauch.test",
                    "can_open_ticket": true,
                    "extension": "555"
                  }
                },
                "Número dos estados unidos": {
                  "summary": "Número dos estados unidos",
                  "value": {
                    "name": "Nome do solicitante dos EUA",
                    "telephone": "+1 (757) 954-3720",
                    "country": "US",
                    "email": "marilu.mante@bins.example",
                    "can_open_ticket": false,
                    "extension": "111"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/clients/{client_id}/requestors/{id}": {
      "get": {
        "summary": "Exibir solicitante",
        "tags": [
          "Solicitantes"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do solicitante",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe informações detalhadas sobre um solicitante cadastrado em um determinado cliente. Incluindo os seus campos personalizados.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_clients_client_id_requestors_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 31,
                  "can_open_ticket": false,
                  "email": "hirthe.zona@conn.test",
                  "entities": [
                    {
                      "id": 14,
                      "active": true,
                      "applied_in": "solicitant",
                      "description": "Campo personalizado aplicado em solicitantes",
                      "entity_fields": [
                        {
                          "id": null,
                          "entity_field_id": 67,
                          "entity_id": 14,
                          "field_type": "text",
                          "name": "Campo de texto",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 68,
                          "entity_id": 14,
                          "field_type": "email",
                          "name": "Campo de email",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 69,
                          "entity_id": 14,
                          "field_type": "date",
                          "name": "Campo de data",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 70,
                          "entity_id": 14,
                          "field_type": "single_select",
                          "name": "Campo de Seleção única",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 71,
                          "entity_id": 14,
                          "field_type": "checkbox",
                          "name": "Campo de Checkbox",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        }
                      ],
                      "menu_item": false,
                      "name": "Teste"
                    }
                  ],
                  "extension": "695",
                  "name": "Zona Hirthe",
                  "telephone": "+5547999999999"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente ou solicitante não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TicketRequestor with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      },
      "put": {
        "summary": "Atualizar solicitante",
        "tags": [
          "Solicitantes"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do solicitante",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Atualiza informações de um solicitante cadastrado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_clients_client_id_requestors_id",
        "responses": {
          "200": {
            "description": "### **Solicitante atualizado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 30,
                  "can_open_ticket": false,
                  "email": "gottlieb.susannah@oreilly.example",
                  "entities": [
                    {
                      "id": 14,
                      "active": true,
                      "applied_in": "solicitant",
                      "description": "Campo personalizado aplicado em solicitantes",
                      "entity_fields": [
                        {
                          "id": null,
                          "entity_field_id": 67,
                          "entity_id": 14,
                          "field_type": "text",
                          "name": "Campo de texto",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 68,
                          "entity_id": 14,
                          "field_type": "email",
                          "name": "Campo de email",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 69,
                          "entity_id": 14,
                          "field_type": "date",
                          "name": "Campo de data",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 70,
                          "entity_id": 14,
                          "field_type": "single_select",
                          "name": "Campo de Seleção única",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        },
                        {
                          "id": null,
                          "entity_field_id": 71,
                          "entity_id": 14,
                          "field_type": "checkbox",
                          "name": "Campo de Checkbox",
                          "options": [

                          ],
                          "required": false,
                          "value": null
                        }
                      ],
                      "menu_item": false,
                      "name": "Teste"
                    }
                  ],
                  "extension": "111",
                  "name": "Tim Daugherty",
                  "telephone": "+5547999999999"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente ou solicitante não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TicketRequestor with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "name": "Tim Daugherty"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Excluir solicitante",
        "tags": [
          "Solicitantes"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do solicitante",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Remove um solicitante cadastrado em um determinado cliente.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_clients_client_id_requestors_id",
        "responses": {
          "204": {
            "description": "### **Solicitante removido com sucesso**\nEssa resposta não contem body"
          },
          "404": {
            "description": "### **Cliente ou solicitante não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TicketRequestor with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ]
      }
    },
    "/requestors": {
      "get": {
        "summary": "Listar todos solicitantes",
        "tags": [
          "Solicitantes"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Buscar os solicitantes pelo nome",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extension",
            "in": "query",
            "required": false,
            "description": "Buscar os solicitantes pelo ramal",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "description": "Buscar os solicitantes pelo email",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "telephone",
            "in": "query",
            "required": false,
            "description": "Buscar os solicitantes pelo número do telefone (**IMPORTANTE:** sem o código de país e não utilizar símbolos ou espaços)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "can_open_ticket",
            "in": "query",
            "required": false,
            "description": "Filtrar pelos solicitantes que podem ou não abrir tickets por email",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "include_entity_fields",
            "in": "query",
            "required": false,
            "description": "Incluir os campos personalizados no retorno dessa requisição. Ao informar esse parâmetro como **true**, será adicionado um atributo de nome `entity_fields` na resposta dessa requisição. Contendo a lista de campos personalizados vinculados aos solicitantes",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "description": "Essa rota lista os solicitantes de todos os clientes que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_requestors",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "examples": {
                  "Lista de solicitantes": {
                    "value": [
                      {
                        "id": 1,
                        "can_open_ticket": false,
                        "client": {
                          "id": 1,
                          "name": "Christiansen Inc"
                        },
                        "email": "collier.terence@jacobs-macejkovic.example",
                        "extension": "835",
                        "name": "Terence Collier",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 2,
                        "can_open_ticket": false,
                        "client": {
                          "id": 2,
                          "name": "Powlowski and Sons"
                        },
                        "email": "lang.prof.pasquale@halvorson.test",
                        "extension": "855",
                        "name": "Prof. Pasquale Lang",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 3,
                        "can_open_ticket": false,
                        "client": {
                          "id": 3,
                          "name": "Donnelly LLC"
                        },
                        "email": "dc_karren_swift@reinger.test",
                        "extension": "977",
                        "name": "Karren Swift DC",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 4,
                        "can_open_ticket": false,
                        "client": {
                          "id": 4,
                          "name": "Daugherty, Yundt and Casper"
                        },
                        "email": "bret_schroeder@schuster.example",
                        "extension": "813",
                        "name": "Bret Schroeder",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 5,
                        "can_open_ticket": true,
                        "client": {
                          "id": 5,
                          "name": "Adams, Ritchie and Stokes"
                        },
                        "email": "siu.effertz@murazik.example",
                        "extension": "155",
                        "name": "Siu Effertz",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 6,
                        "can_open_ticket": true,
                        "client": {
                          "id": 6,
                          "name": "Stehr Inc"
                        },
                        "email": "madalyn_lehner@zboncak-rice.test",
                        "extension": "278",
                        "name": "Madalyn Lehner",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 7,
                        "can_open_ticket": true,
                        "client": {
                          "id": 7,
                          "name": "Brakus-Ullrich"
                        },
                        "email": "lemuel_casper@auer.test",
                        "extension": "698",
                        "name": "Lemuel Casper",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 8,
                        "can_open_ticket": false,
                        "client": {
                          "id": 8,
                          "name": "Oberbrunner Inc"
                        },
                        "email": "kuvalis.carl@luettgen.example",
                        "extension": "858",
                        "name": "Carl Kuvalis",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 9,
                        "can_open_ticket": true,
                        "client": {
                          "id": 9,
                          "name": "Pfannerstill LLC"
                        },
                        "email": "fr.graham.caitlyn@rogahn.example",
                        "extension": "858",
                        "name": "Fr. Caitlyn Graham",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 10,
                        "can_open_ticket": false,
                        "client": {
                          "id": 10,
                          "name": "Baumbach, Green and Jakubowski"
                        },
                        "email": "mayer_felipe@olson-hickle.test",
                        "extension": "121",
                        "name": "Felipe Mayer",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 11,
                        "can_open_ticket": false,
                        "client": {
                          "id": 11,
                          "name": "Schaefer and Sons"
                        },
                        "email": "jerde_robby@haag.test",
                        "extension": "492",
                        "name": "Robby Jerde",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 12,
                        "can_open_ticket": true,
                        "client": {
                          "id": 12,
                          "name": "Hayes-White"
                        },
                        "email": "dinorah.blanda@medhurst-mann.example",
                        "extension": "923",
                        "name": "Dinorah Blanda",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 13,
                        "can_open_ticket": false,
                        "client": {
                          "id": 13,
                          "name": "Predovic, Braun and Hahn"
                        },
                        "email": "mills.alma@sipes.example",
                        "extension": "172",
                        "name": "Alma Mills",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 14,
                        "can_open_ticket": true,
                        "client": {
                          "id": 14,
                          "name": "Kihn-Jacobi"
                        },
                        "email": "windler_shena@hills.example",
                        "extension": "830",
                        "name": "Shena Windler",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 15,
                        "can_open_ticket": true,
                        "client": {
                          "id": 15,
                          "name": "Gutmann Group"
                        },
                        "email": "jacelyn_prosacco@wintheiser.example",
                        "extension": "980",
                        "name": "Jacelyn Prosacco",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 16,
                        "can_open_ticket": true,
                        "client": {
                          "id": 16,
                          "name": "Bernhard Group"
                        },
                        "email": "amb.cinda.paucek@swaniawski.example",
                        "extension": "413",
                        "name": "Amb. Cinda Paucek",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 17,
                        "can_open_ticket": false,
                        "client": {
                          "id": 18,
                          "name": "Blanda-Kerluke"
                        },
                        "email": "patrice.wilderman.v@hilll-stanton.test",
                        "extension": "768",
                        "name": "Patrice Wilderman V",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 18,
                        "can_open_ticket": false,
                        "client": {
                          "id": 19,
                          "name": "Thiel, Beier and Donnelly"
                        },
                        "email": "andrea.monahan@kessler.test",
                        "extension": "581",
                        "name": "Andrea Monahan",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 19,
                        "can_open_ticket": false,
                        "client": {
                          "id": 20,
                          "name": "Hettinger-Stiedemann"
                        },
                        "email": "grant.marjorie@wintheiser.example",
                        "extension": "429",
                        "name": "Marjorie Grant",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 20,
                        "can_open_ticket": false,
                        "client": {
                          "id": 21,
                          "name": "Kuhic-Kuhlman"
                        },
                        "email": "lemke.jr.haywood@hilpert-okon.test",
                        "extension": "793",
                        "name": "Haywood Lemke Jr.",
                        "telephone": "+5547999999999"
                      }
                    ]
                  },
                  "Lista de solicitantes com campos personalizados": {
                    "value": [
                      {
                        "id": 1,
                        "can_open_ticket": false,
                        "client": {
                          "id": 1,
                          "name": "Christiansen Inc"
                        },
                        "email": "collier.terence@jacobs-macejkovic.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "835",
                        "name": "Terence Collier",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 2,
                        "can_open_ticket": false,
                        "client": {
                          "id": 2,
                          "name": "Powlowski and Sons"
                        },
                        "email": "lang.prof.pasquale@halvorson.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "855",
                        "name": "Prof. Pasquale Lang",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 3,
                        "can_open_ticket": false,
                        "client": {
                          "id": 3,
                          "name": "Donnelly LLC"
                        },
                        "email": "dc_karren_swift@reinger.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "977",
                        "name": "Karren Swift DC",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 4,
                        "can_open_ticket": false,
                        "client": {
                          "id": 4,
                          "name": "Daugherty, Yundt and Casper"
                        },
                        "email": "bret_schroeder@schuster.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "813",
                        "name": "Bret Schroeder",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 5,
                        "can_open_ticket": true,
                        "client": {
                          "id": 5,
                          "name": "Adams, Ritchie and Stokes"
                        },
                        "email": "siu.effertz@murazik.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "155",
                        "name": "Siu Effertz",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 6,
                        "can_open_ticket": true,
                        "client": {
                          "id": 6,
                          "name": "Stehr Inc"
                        },
                        "email": "madalyn_lehner@zboncak-rice.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "278",
                        "name": "Madalyn Lehner",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 7,
                        "can_open_ticket": true,
                        "client": {
                          "id": 7,
                          "name": "Brakus-Ullrich"
                        },
                        "email": "lemuel_casper@auer.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "698",
                        "name": "Lemuel Casper",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 8,
                        "can_open_ticket": false,
                        "client": {
                          "id": 8,
                          "name": "Oberbrunner Inc"
                        },
                        "email": "kuvalis.carl@luettgen.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "858",
                        "name": "Carl Kuvalis",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 9,
                        "can_open_ticket": true,
                        "client": {
                          "id": 9,
                          "name": "Pfannerstill LLC"
                        },
                        "email": "fr.graham.caitlyn@rogahn.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "858",
                        "name": "Fr. Caitlyn Graham",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 10,
                        "can_open_ticket": false,
                        "client": {
                          "id": 10,
                          "name": "Baumbach, Green and Jakubowski"
                        },
                        "email": "mayer_felipe@olson-hickle.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "121",
                        "name": "Felipe Mayer",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 11,
                        "can_open_ticket": false,
                        "client": {
                          "id": 11,
                          "name": "Schaefer and Sons"
                        },
                        "email": "jerde_robby@haag.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "492",
                        "name": "Robby Jerde",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 12,
                        "can_open_ticket": true,
                        "client": {
                          "id": 12,
                          "name": "Hayes-White"
                        },
                        "email": "dinorah.blanda@medhurst-mann.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "923",
                        "name": "Dinorah Blanda",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 13,
                        "can_open_ticket": false,
                        "client": {
                          "id": 13,
                          "name": "Predovic, Braun and Hahn"
                        },
                        "email": "mills.alma@sipes.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "172",
                        "name": "Alma Mills",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 14,
                        "can_open_ticket": true,
                        "client": {
                          "id": 14,
                          "name": "Kihn-Jacobi"
                        },
                        "email": "windler_shena@hills.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "830",
                        "name": "Shena Windler",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 15,
                        "can_open_ticket": true,
                        "client": {
                          "id": 15,
                          "name": "Gutmann Group"
                        },
                        "email": "jacelyn_prosacco@wintheiser.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "980",
                        "name": "Jacelyn Prosacco",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 16,
                        "can_open_ticket": true,
                        "client": {
                          "id": 16,
                          "name": "Bernhard Group"
                        },
                        "email": "amb.cinda.paucek@swaniawski.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "413",
                        "name": "Amb. Cinda Paucek",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 17,
                        "can_open_ticket": false,
                        "client": {
                          "id": 18,
                          "name": "Blanda-Kerluke"
                        },
                        "email": "patrice.wilderman.v@hilll-stanton.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "768",
                        "name": "Patrice Wilderman V",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 18,
                        "can_open_ticket": false,
                        "client": {
                          "id": 19,
                          "name": "Thiel, Beier and Donnelly"
                        },
                        "email": "andrea.monahan@kessler.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "581",
                        "name": "Andrea Monahan",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 19,
                        "can_open_ticket": false,
                        "client": {
                          "id": 20,
                          "name": "Hettinger-Stiedemann"
                        },
                        "email": "grant.marjorie@wintheiser.example",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "429",
                        "name": "Marjorie Grant",
                        "telephone": "+5547999999999"
                      },
                      {
                        "id": 20,
                        "can_open_ticket": false,
                        "client": {
                          "id": 21,
                          "name": "Kuhic-Kuhlman"
                        },
                        "email": "lemke.jr.haywood@hilpert-okon.test",
                        "entity_fields": [
                          {
                            "entity_field_id": 67,
                            "field_type": "text",
                            "name": "Campo de texto",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 68,
                            "field_type": "email",
                            "name": "Campo de email",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 69,
                            "field_type": "date",
                            "name": "Campo de data",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": null
                          },
                          {
                            "entity_field_id": 70,
                            "field_type": "single_select",
                            "name": "Campo de Seleção única",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [

                            ]
                          },
                          {
                            "entity_field_id": 71,
                            "field_type": "checkbox",
                            "name": "Campo de Checkbox",
                            "entity_id": 14,
                            "required": false,
                            "id": null,
                            "value": null,
                            "options": [
                              {
                                "entity_field_option_id": 42,
                                "entity_field_id": 71,
                                "title": "Check 1",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 43,
                                "entity_field_id": 71,
                                "title": "Check 2",
                                "id": null,
                                "value": null
                              },
                              {
                                "entity_field_option_id": 44,
                                "entity_field_id": 71,
                                "title": "Check 3",
                                "id": null,
                                "value": null
                              }
                            ]
                          }
                        ],
                        "extension": "793",
                        "name": "Haywood Lemke Jr.",
                        "telephone": "+5547999999999"
                      }
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "can_open_ticket precisa ser um valor booleano": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "can_open_ticket": [
                          "teste is not a valid option. 'Can open ticket' must be 'true' or 'false'"
                        ]
                      }
                    }
                  },
                  "include_entity_fields precisa ser um valor booleano": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "include_entity_fields": [
                          "teste is not a valid option. 'Include entity fields' must be 'true' or 'false'"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          },
          {
            "color": "red",
            "label": "Visualizar clientes e grupos de recursos"
          }
        ]
      }
    },
    "/clients/{client_id}/requestors/{id}/entities": {
      "put": {
        "summary": "Atualizar campos personalizados do solicitante",
        "tags": [
          "Solicitantes"
        ],
        "parameters": [
          {
            "name": "client_id",
            "in": "path",
            "description": "ID do cliente",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do solicitante",
            "example": 15,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Esta rota permite a atualização dos campos personalizados associados a um solicitante específico.\n\nPara consultar quais campos personalizados estão disponíveis para o solicitante em questão, utilize o método [Exibir solicitante](#get-/clients/-client_id-/requestors/-id-).\n### **Descrição dos valores aceitos**\nO formato do valor do campo (`value`) deve ser compatível com o tipo de campo personalizado (`entity_field_id`) que está sendo atualizado. Consulte a tabela abaixo para obter exemplos de valores válidos para cada tipo de campo:\nTipo de campo | Descrição | Exemplos\n--- | --- | ---\ntext | Aceita qualquer valor de string | `\"Meu texto\"`\ntext_area | Aceita qualquer valor de string | `\"Meu texto de exemplo\"`\ncurrency | Aceita uma string de números float utilizando o ponto como separador decimal e sem agrupador de milhares | `\"1200.55\"`,`\"15\"`\nphone | Aceita uma string de números inteiros, representando o número de telefone sem o código do país (DDI). Por padrão, o sistema vai tentar validar esse telefone como um número brasileiro. Se você deseja inserir um número de outro país, será necessário utilizar o atributo `country_code` junto no corpo da sua requisição | `\"47999999999\"`\nemail | Aceita uma string com o e-mail | `\"suporte@tiflux.com\"`\nlink | Aceita uma string contendo o endereço do link. O link deve começar com http, https ou ftp, para ser considerado como válido | `\"https://guia-de-uso.tiflux.com/\"`\ndate | Aceita uma string contendo a data. Serão aceitas datas em vários formatos (inclusive com horas). Porém, o valor será gravado em banco da seguinte forma: \"YYYY-MM-DD\", sendo assim, recomendamos que você informe a data nesse padrão também | `\"2025-05-28\"`\nsingle_select | Aceita uma string contendo um número inteiro com o ID da nova opção que foi escolhida | `\"777\"`, `\"52\"`\ncheckbox | Aceita uma string contendo um valor booleano representando se você deseja marcar o checkbox (\"true\") ou desmarcá-lo (\"false\") | `\"true\"`, `\"false\"`\n\n- **Observação:** Se você deseja apagar/limpar o valor de um campo personalizado que não é obrigatório, basta informar o atributo value como null: `\"value\": null`",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_clients_client_id_requestors_id_entities",
        "responses": {
          "200": {
            "description": "### **Campos personalizados atualizados com sucesso**\nO corpo da resposta dessa requisição será um objeto `requestor` contendo informações básicas do solicitante e outro objeto `requestor_entities`, contendo todos os campos personalizados dele após a atualização",
            "content": {
              "application/json": {
                "example": {
                  "requestor": {
                    "id": 31,
                    "can_open_ticket": false,
                    "email": "hirthe.zona@conn.test",
                    "extension": "695",
                    "name": "Zona Hirthe",
                    "telephone": "+5547999999999"
                  },
                  "requestor_entities": [
                    {
                      "id": 14,
                      "active": true,
                      "applied_in": "solicitant",
                      "description": "Campo personalizado aplicado em solicitantes",
                      "entity_fields": [
                        {
                          "id": 42,
                          "entity_field_id": 67,
                          "entity_id": 14,
                          "field_type": "text",
                          "name": "Campo de texto",
                          "options": [

                          ],
                          "required": false,
                          "value": "Novo texto da entidade"
                        },
                        {
                          "id": 57,
                          "entity_field_id": 68,
                          "entity_id": 14,
                          "field_type": "email",
                          "name": "Campo de email",
                          "options": [

                          ],
                          "required": false,
                          "value": "dean_walter@schuster.example"
                        },
                        {
                          "id": 58,
                          "entity_field_id": 69,
                          "entity_id": 14,
                          "field_type": "date",
                          "name": "Campo de data",
                          "options": [

                          ],
                          "required": false,
                          "value": "2024-06-28"
                        },
                        {
                          "id": 43,
                          "entity_field_id": 70,
                          "entity_id": 14,
                          "field_type": "single_select",
                          "name": "Campo de Seleção única",
                          "options": [
                            {
                              "id": 43,
                              "entity_field_id": 70,
                              "entity_field_option_id": 41,
                              "title": "Opção 2",
                              "value": "41"
                            }
                          ],
                          "required": false,
                          "value": "Opção 2"
                        },
                        {
                          "id": null,
                          "entity_field_id": 71,
                          "entity_id": 14,
                          "field_type": "checkbox",
                          "name": "Campo de Checkbox",
                          "options": [
                            {
                              "id": 59,
                              "entity_field_id": 71,
                              "entity_field_option_id": 42,
                              "title": "Check 1",
                              "value": "true"
                            },
                            {
                              "id": 60,
                              "entity_field_id": 71,
                              "entity_field_option_id": 43,
                              "title": "Check 2",
                              "value": "true"
                            },
                            {
                              "id": 44,
                              "entity_field_id": 71,
                              "entity_field_option_id": 44,
                              "title": "Check 3",
                              "value": "true"
                            }
                          ],
                          "required": false,
                          "value": "Check 3, Check 2, Check 1"
                        }
                      ],
                      "menu_item": false,
                      "name": "Teste"
                    }
                  ]
                }
              }
            }
          },
          "207": {
            "description": "### **Sucesso Parcial na Atualização de Campos Personalizados**\nEste código de resposta indica que a requisição para atualizar campos personalizados foi **parcialmente bem-sucedida**. Ou seja, alguns dos campos podem ter sido atualizados com sucesso, enquanto outros apresentaram falhas e não foram atualizados.\n\nPara os campos que apresentaram falhas na atualização, o motivo do erro está detalhado no atributo `detail`. Se um campo não constar na listagem de erros, significa que ele foi atualizado com sucesso.",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 20701,
                  "message": "Your request was partially successful. Some entity values were updated successfully, but others had errors",
                  "detail": {
                    "entities": [
                      "The property '#/0/entity_field_id': Couldn't find EntityField with id=0 applied in ServiceDesk::TicketRequestor. The entity may be inactive or not exist",
                      "The property '#/1/value': Is not a valid email",
                      "The property '#/2/value': Is not a valid date",
                      "The property '#/3/value': Option id=0 is not a valid option in EntityField (id=70)"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Parâmetro inválido encontrado**\nVocê informou algum atributo inválido ou fora do padrão dessa requisição. Confira os exemplos e o schema, para garantir que o corpo da sua requisição esteja no formato correto",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40001,
                  "message": "Unknown parameters",
                  "detail": {
                    "error": [
                      "found unpermitted parameter: :name"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Cliente ou solicitante não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TicketRequestor with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar clientes e grupos de recursos"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/entities"
              },
              "examples": {
                "Text field": {
                  "summary": "Text field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 67,
                        "value": "Novo texto do campo tipo texto"
                      }
                    ]
                  }
                },
                "Email field": {
                  "summary": "Email field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 68,
                        "value": "new_mail@to.entity.com"
                      }
                    ]
                  }
                },
                "Date field": {
                  "summary": "Date field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 69,
                        "value": "2024-06-28"
                      }
                    ]
                  }
                },
                "Single_select field": {
                  "summary": "Single_select field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 70,
                        "value": "41"
                      }
                    ]
                  }
                },
                "Checkbox field": {
                  "summary": "Checkbox field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 71,
                        "entity_field_option_id": 42,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 71,
                        "entity_field_option_id": 43,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 71,
                        "entity_field_option_id": 44,
                        "value": "false"
                      }
                    ]
                  }
                },
                "Update all entity values": {
                  "summary": "Update all entity values",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 67,
                        "value": "Novo texto da entidade"
                      },
                      {
                        "entity_field_id": 68,
                        "value": "dean_walter@schuster.example"
                      },
                      {
                        "entity_field_id": 69,
                        "value": "2024-06-28"
                      },
                      {
                        "entity_field_id": 70,
                        "value": "41"
                      },
                      {
                        "entity_field_id": 71,
                        "entity_field_option_id": 42,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 71,
                        "entity_field_option_id": 43,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 71,
                        "entity_field_option_id": 44,
                        "value": "true"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Este schema define a estrutura de dados para atualização de campos personalizados de um solicitante. Ele é composto por um array de objetos, onde cada objeto representa um campo personalizado a ser atualizado"
        }
      }
    },
    "/technical-groups": {
      "get": {
        "summary": "Listar grupos de atendentes",
        "tags": [
          "Grupos de Atendentes"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os grupos de atendentes que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_technical-groups",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "name": "Corporate Communications"
                  },
                  {
                    "id": 28,
                    "name": "General Management"
                  },
                  {
                    "id": 29,
                    "name": "Human Resources"
                  },
                  {
                    "id": 33,
                    "name": "Human Resources"
                  },
                  {
                    "id": 34,
                    "name": "Information Technology"
                  },
                  {
                    "id": 95,
                    "name": "Customer Service"
                  },
                  {
                    "id": 96,
                    "name": "Customer Service"
                  },
                  {
                    "id": 99,
                    "name": "Business Development"
                  },
                  {
                    "id": 100,
                    "name": "Business Development"
                  },
                  {
                    "id": 104,
                    "name": "Grupo de atendentes para vincular em conhecimentos"
                  },
                  {
                    "id": 113,
                    "name": "General Management"
                  },
                  {
                    "id": 114,
                    "name": "Asset Management"
                  },
                  {
                    "id": 115,
                    "name": "Business Development"
                  },
                  {
                    "id": 117,
                    "name": "Product Management"
                  },
                  {
                    "id": 118,
                    "name": "Sales"
                  },
                  {
                    "id": 124,
                    "name": "General Management"
                  },
                  {
                    "id": 159,
                    "name": "Engineering"
                  }
                ]
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar mesas de serviços"
          }
        ]
      }
    },
    "/technical-groups/{id}": {
      "get": {
        "summary": "Exibir grupo de atendentes",
        "tags": [
          "Grupos de Atendentes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do grupo de atendente",
            "example": 2,
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "show_departments",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "description": "Exibir os departamentos",
            "required": false
          }
        ],
        "description": "Exibe informações detalhadas sobre um determinado grupo de atendentes.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_technical-groups_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "Mostrar departamentos = false": {
                    "value": {
                      "id": 159,
                      "description": "Chuck Norris went out of an infinite loop.",
                      "expedients": [
                        {
                          "id": 159,
                          "beginning": "08:00",
                          "days": "MON, TUE, WED, THU, FRI",
                          "ending": "12:00",
                          "holiday": false
                        }
                      ],
                      "has_compromise": false,
                      "name": "Engineering",
                      "send_periodic_appointment_hours": "Do not send email"
                    }
                  },
                  "Mostrar departamentos = true": {
                    "value": {
                      "id": 159,
                      "departments": [
                        {
                          "id": 327,
                          "name": "Mills-Pollich"
                        },
                        {
                          "id": 328,
                          "name": "Okuneva-Lemke"
                        }
                      ],
                      "description": "Chuck Norris went out of an infinite loop.",
                      "expedients": [
                        {
                          "id": 159,
                          "beginning": "08:00",
                          "days": "MON, TUE, WED, THU, FRI",
                          "ending": "12:00",
                          "holiday": false
                        }
                      ],
                      "has_compromise": false,
                      "name": "Engineering",
                      "send_periodic_appointment_hours": "Do not send email"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Grupo de atendentes não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TechnicalGroup with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar mesas de serviços"
          }
        ]
      }
    },
    "/technical-groups/{id}/users": {
      "get": {
        "summary": "Relacionamento com usuários",
        "tags": [
          "Grupos de Atendentes"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do grupo de atendente",
            "example": 2,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista os atendentes/usuários que estão relacionados com um determinado grupo de atendentes.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_technical-groups_id_users",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 156,
                    "_type": "attendant",
                    "active": true,
                    "email": "lakin.corine@morar-rippin.example",
                    "gauth_enabled": false,
                    "last_login_at": null,
                    "name": "Corine Lakin",
                    "technical_group_id": 159
                  },
                  {
                    "id": 157,
                    "_type": "attendant",
                    "active": true,
                    "email": "wiegand.galen@johns.test",
                    "gauth_enabled": false,
                    "last_login_at": null,
                    "name": "Galen Wiegand",
                    "technical_group_id": 159
                  },
                  {
                    "id": 158,
                    "_type": "attendant",
                    "active": true,
                    "email": "aaron_bernier@langosh.example",
                    "gauth_enabled": false,
                    "last_login_at": null,
                    "name": "Aaron Bernier",
                    "technical_group_id": 159
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Grupo de atendentes não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TechnicalGroup with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Testa se for informado uma string: 'a'": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "limit": [
                          "is not a number"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar mesas de serviços"
          }
        ]
      }
    },
    "/technical-groups/{id}/desks": {
      "get": {
        "summary": "Relacionamento com mesas",
        "tags": [
          "Grupos de Atendentes"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do grupo de atendente",
            "example": 2,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista as mesas que estão relacionadas com um determinado grupo de atendentes.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_technical-groups_id_desks",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 15,
                    "active": true,
                    "appointment_type": "Appointments with no Valorization",
                    "display_name": "API",
                    "name": "API"
                  },
                  {
                    "id": 16,
                    "active": true,
                    "appointment_type": "Appointments with no Valorization",
                    "display_name": "API",
                    "name": "API"
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Grupo de atendentes não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TechnicalGroup with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Testa se for informado uma string: 'a'": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "limit": [
                          "is not a number"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar mesas de serviços"
          }
        ]
      }
    },
    "/technical-groups/{id}/clients": {
      "get": {
        "summary": "Relacionamento com clientes",
        "tags": [
          "Grupos de Atendentes"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID do grupo de atendente",
            "example": 2,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Lista os clientes que estão relacionados com um determinado grupo de atendentes.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_technical-groups_id_clients",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 32,
                    "name": "Welch LLC",
                    "social": "O'Kon Group",
                    "social_revenue": "91382666000883",
                    "status": true
                  },
                  {
                    "id": 33,
                    "name": "Cremin Group",
                    "social": "Fisher-Borer",
                    "social_revenue": "79500133000772",
                    "status": true
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Grupo de atendentes não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TechnicalGroup with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "Testa se for informado uma string: 'a'": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "limit": [
                          "is not a number"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar mesas de serviços"
          }
        ]
      }
    },
    "/tickets/{ticket_number}/answers": {
      "get": {
        "summary": "Listar respostas",
        "tags": [
          "Respostas dos tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista as respostas (comunicações com o cliente) que existem em um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_answers",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "answer_origin": "tiflux_web",
                    "answer_time": "2026-04-28T21:28:44Z",
                    "author": "Admin",
                    "files_count": 1,
                    "name": "teste",
                    "user_id": 1
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "ticket_ticket_number": [
                      "is not a number"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "post": {
        "summary": "Criar resposta",
        "tags": [
          "Respostas dos tickets"
        ],
        "description": "Cria uma nova resposta (comunicação com o cliente) em um determinado ticket.\n\nCaso a sua organização possua uma licença de whitelabel de e-mail, a assinatura do seu usuário pode ser enviada na resposta criada, utilizando o parâmetro `with_signature=true`.",
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 2
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_tickets_ticket_number_answers",
        "responses": {
          "201": {
            "description": "### **Resposta criada com sucesso**",
            "content": {
              "application/json": {
                "examples": {
                  "Criar resposta com assinatura": {
                    "value": {
                      "id": 3,
                      "answer_origin": "api",
                      "answer_time": "2026-04-28T21:28:45Z",
                      "author": "[API] Nancy Botsford DO",
                      "files": [

                      ],
                      "files_count": 0,
                      "name": "<p>Teste</p>",
                      "signature": "Answer sent with signature",
                      "user_id": 1
                    }
                  },
                  "Criar resposta sem assinatura": {
                    "value": {
                      "id": 5,
                      "answer_origin": "api",
                      "answer_time": "2026-04-28T21:28:45Z",
                      "author": "[API] Nancy Botsford DO",
                      "files": [

                      ],
                      "files_count": 0,
                      "name": "<p>Teste</p>",
                      "signature": "Answer sent without signature",
                      "user_id": 1
                    }
                  },
                  "Criar resposta com arquivo": {
                    "value": {
                      "id": 7,
                      "answer_origin": "api",
                      "answer_time": "2026-04-28T21:28:45Z",
                      "author": "[API] Nancy Botsford DO",
                      "files": [
                        {
                          "id": 3,
                          "content_type": "image/png",
                          "file_name": "missing.png",
                          "size": 5265,
                          "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                        }
                      ],
                      "files_count": 1,
                      "name": "<p>Teste</p>",
                      "signature": "Answer sent without signature",
                      "user_id": 1
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador da resposta criada"
                    },
                    "answer_origin": {
                      "type": "string",
                      "description": "Origem da resposta (por onde a resposta foi criada)",
                      "enum": [
                        "tiflux_web",
                        "api",
                        "client_portal",
                        "email",
                        "agent"
                      ]
                    },
                    "answer_time": {
                      "type": "string",
                      "description": "Data da criação da resposta"
                    },
                    "author": {
                      "type": "string",
                      "description": "Nome do autor. Caso a resposta for criada pela API, será adicionada uma TAG **[API]** na frente do nome do usuário"
                    },
                    "files": {
                      "type": "array",
                      "description": "Lista contendo os arquivos que estão anexados na resposta",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do arquivo"
                          },
                          "content_type": {
                            "type": "string",
                            "description": "Formato do arquivo"
                          },
                          "file_name": {
                            "type": "string",
                            "description": "Nome do arquivo"
                          },
                          "size": {
                            "type": "integer",
                            "description": "Tamanho do arquivo em bytes"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "files_count": {
                      "type": "integer",
                      "description": "Contador do total de arquivos anexados"
                    },
                    "name": {
                      "type": "string",
                      "description": "O texto da resposta em formato HTML"
                    },
                    "signature": {
                      "type": "string",
                      "description": "Indica se a resposta foi criada com ou sem assinatura:\n* `Answer sent without signature` - Indica que a resposta foi enviada sem assinatura\n* `Answer sent without signature: User doesn't have a signature registered` - Indica que foi tentado enviar a resposta com assinatura, porém, o usuário não tem uma assinatura cadastrada em \"Minha conta\". Portanto, a resposta foi enviada sem assinatura.\n* `Answer sent with signature` - Indica que a resposta foi enviada com assinatura",
                      "enum": [
                        "Answer sent without signature",
                        "Answer sent without signature: User doesn't have a signature registered",
                        "Answer sent with signature"
                      ]
                    },
                    "user_id": {
                      "type": "integer",
                      "description": "Identificador do usuário que criou a resposta"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "with_signature": [
                      "teste is not a valid option. With signature must be 'true' or 'false'"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Texto da resposta que será criada"
                  },
                  "with_signature": {
                    "type": "boolean",
                    "description": "Enviar resposta com a assinatura do seu usuário?",
                    "default": false
                  },
                  "files[]": {
                    "type": "array",
                    "description": "Lista com os arquivos que serão anexados na resposta.\n\nEsse parâmetro deve respeitar os seguintes critérios, para os anexos serem anexados corretamente na resposta:\n- O valor desse parâmetro deve ser uma lista de arquivos\n- É permitido anexar no máximo 10 arquivos por requisição\n- Cada arquivo deve possuir no máx 25 megabytes",
                    "maxItems": 10,
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          },
          "required": true,
          "description": "O body dessa requisição é do tipo multipart/form-data e aceita os seguintes atributos:"
        }
      }
    },
    "/tickets/{ticket_number}/client-answers": {
      "post": {
        "summary": "Criar resposta de cliente",
        "tags": [
          "Respostas dos tickets"
        ],
        "description": "Cria uma nova resposta de cliente em um determinado ticket.\n\n**Importante:** Essa resposta será registrada com o tipo `cliente`.",
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "ticket_number": {
                "value": 2
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_tickets_ticket_number_client-answers",
        "responses": {
          "201": {
            "description": "### **Resposta criada com sucesso**",
            "content": {
              "application/json": {
                "examples": {
                  "Criar resposta sem arquivo": {
                    "value": {
                      "id": 8,
                      "answer_origin": "api",
                      "answer_time": "2026-04-28T21:28:46Z",
                      "author": "[API] Nome do cliente",
                      "files": [

                      ],
                      "files_count": 0,
                      "name": "<p>Teste</p>",
                      "user_id": null
                    }
                  },
                  "Criar resposta com arquivo": {
                    "value": {
                      "id": 10,
                      "answer_origin": "api",
                      "answer_time": "2026-04-28T21:28:46Z",
                      "author": "[API] Nome do cliente",
                      "files": [
                        {
                          "id": 5,
                          "content_type": "image/png",
                          "file_name": "missing.png",
                          "size": 5265,
                          "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                        }
                      ],
                      "files_count": 1,
                      "name": "<p>Teste</p>",
                      "user_id": null
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador da resposta criada"
                    },
                    "answer_origin": {
                      "type": "string",
                      "description": "Origem da resposta (por onde a resposta foi criada)",
                      "enum": [
                        "tiflux_web",
                        "api",
                        "client_portal",
                        "email",
                        "agent"
                      ]
                    },
                    "answer_time": {
                      "type": "string",
                      "description": "Data da criação da resposta"
                    },
                    "author": {
                      "type": "string",
                      "description": "Nome do autor. Caso a resposta for criada pela API, será adicionada uma TAG **[API]** na frente do nome do usuário"
                    },
                    "files": {
                      "type": "array",
                      "description": "Lista contendo os arquivos que estão anexados na resposta",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do arquivo"
                          },
                          "content_type": {
                            "type": "string",
                            "description": "Formato do arquivo"
                          },
                          "file_name": {
                            "type": "string",
                            "description": "Nome do arquivo"
                          },
                          "size": {
                            "type": "integer",
                            "description": "Tamanho do arquivo em bytes"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "files_count": {
                      "type": "integer",
                      "description": "Contador do total de arquivos anexados"
                    },
                    "name": {
                      "type": "string",
                      "description": "O texto da resposta em formato HTML"
                    },
                    "user_id": {
                      "type": "integer",
                      "nullable": true,
                      "description": "Identificador do usuário que criou a resposta"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "name": [
                      "can't be blank"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ticket with ticket_number = 999999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nPara acessar essa rota, seu usuário precisa ser do tipo `Administrador`",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "blue",
            "label": "Apenas administradores"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Texto da resposta que será criada"
                  },
                  "author_name": {
                    "type": "string",
                    "description": "Nome do cliente que será identificado como autor da resposta"
                  },
                  "files[]": {
                    "type": "array",
                    "description": "Lista com os arquivos que serão anexados na resposta.\n\nEsse parâmetro deve respeitar os seguintes critérios, para os anexos serem anexados corretamente na resposta:\n- O valor desse parâmetro deve ser uma lista de arquivos\n- É permitido anexar no máximo 10 arquivos por requisição\n- Cada arquivo deve possuir no máx 25 megabytes",
                    "maxItems": 10,
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                },
                "required": [
                  "name",
                  "author_name"
                ]
              }
            }
          },
          "required": true,
          "description": "O body dessa requisição é do tipo multipart/form-data e aceita os seguintes atributos:"
        }
      }
    },
    "/tickets/{ticket_number}/answers/{id}": {
      "get": {
        "summary": "Exibir resposta",
        "tags": [
          "Respostas dos tickets"
        ],
        "description": "Exibe informações detalhadas de uma resposta de um determinado ticket.",
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID da resposta",
            "examples": {
              "Exemplo 1": {
                "value": 3
              }
            },
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_answers_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "answer_origin": "tiflux_web",
                  "answer_time": "2026-04-28T21:28:44Z",
                  "author": "Admin",
                  "files": [
                    {
                      "id": 1,
                      "content_type": "image/png",
                      "file_name": "api.png",
                      "size": 1234,
                      "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                    }
                  ],
                  "files_count": 1,
                  "name": "teste",
                  "user_id": 1
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "Identificador da resposta criada"
                    },
                    "answer_origin": {
                      "type": "string",
                      "description": "Origem da resposta (por onde a resposta foi criada)",
                      "enum": [
                        "tiflux_web",
                        "api",
                        "client_portal",
                        "email",
                        "agent"
                      ]
                    },
                    "answer_time": {
                      "type": "string",
                      "description": "Data da criação da resposta"
                    },
                    "author": {
                      "type": "string",
                      "description": "Nome do autor. Caso a resposta for criada pela API, será adicionada uma TAG **[API]** na frente do nome do usuário"
                    },
                    "files": {
                      "type": "array",
                      "description": "Lista contendo os arquivos que estão anexados na resposta",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "Identificador do arquivo"
                          },
                          "content_type": {
                            "type": "string",
                            "description": "Formato do arquivo"
                          },
                          "file_name": {
                            "type": "string",
                            "description": "Nome do arquivo"
                          },
                          "size": {
                            "type": "integer",
                            "description": "Tamanho do arquivo em bytes"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "files_count": {
                      "type": "integer",
                      "description": "Contador do total de arquivos anexados"
                    },
                    "name": {
                      "type": "string",
                      "description": "O texto da resposta em formato HTML"
                    },
                    "user_id": {
                      "type": "integer",
                      "nullable": true,
                      "description": "Identificador do usuário que criou a resposta"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket ou resposta não encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TicketAnswer with 'id'=\"99999\" [WHERE \"service_desk_ticket_answers\".\"ticket_id\" = $1]"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "delete": {
        "summary": "Excluir resposta",
        "tags": [
          "Respostas dos tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID da resposta que será excluída",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Remove uma resposta de um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_tickets_ticket_number_answers_id",
        "responses": {
          "204": {
            "description": "### **Resposta removida com sucesso**\nEssa resposta não contem body"
          },
          "404": {
            "description": "### **Ticket ou resposta não encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TicketAnswer with 'id'=\"9999\" [WHERE \"service_desk_ticket_answers\".\"ticket_id\" = $1]"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/ticket_answers/{ticket_answer_id}/files/{id}": {
      "delete": {
        "summary": "Excluir arquivo em resposta de ticket",
        "tags": [
          "Respostas dos tickets"
        ],
        "parameters": [
          {
            "name": "ticket_answer_id",
            "in": "path",
            "description": "Identificador da resposta",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identificador do arquivo que será excluído",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Remove um arquivo de uma determinada resposta.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_ticket_answers_ticket_answer_id_files_id",
        "responses": {
          "204": {
            "description": "### **Arquivo removido com sucesso**\nEssa resposta não contem body"
          },
          "404": {
            "description": "### **Resposta ou arquivo não encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TicketAnswerFile with 'id'=\"9999\""
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/tickets/{ticket_number}/files": {
      "get": {
        "summary": "Listar arquivos em ticket",
        "tags": [
          "Tickets - Arquivos"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Lista os arquivos anexados em um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_files",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 1,
                    "content_type": "image/png",
                    "file_name": "api.png",
                    "size": 1234,
                    "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                  }
                ]
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "ticket_ticket_number": [
                      "is not a number"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "post": {
        "summary": "Adicionar arquivos em ticket",
        "tags": [
          "Tickets - Arquivos"
        ],
        "description": "Adiciona arquivos nos anexos de um determinado ticket.",
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 2
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_tickets_ticket_number_files",
        "responses": {
          "201": {
            "description": "### **Arquivos criados com sucesso**",
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 2,
                    "content_type": "image/png",
                    "file_name": "missing.png",
                    "size": 5265,
                    "url": "[AMBIENTE DE TESTES] - Link de acesso ao arquivo bloqueado"
                  }
                ],
                "schema": {
                  "type": "array",
                  "description": "Lista contendo os arquivos que estão anexados no ticket",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do arquivo"
                      },
                      "content_type": {
                        "type": "string",
                        "description": "Formato do arquivo"
                      },
                      "file_name": {
                        "type": "string",
                        "description": "Nome do arquivo"
                      },
                      "size": {
                        "type": "integer",
                        "description": "Tamanho do arquivo em bytes"
                      },
                      "url": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "files": [
                      "You are not sending a File. The value of 'files' items need to be a File type"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 999999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "files[]": {
                    "type": "array",
                    "description": "Lista com os arquivos que serão anexados no ticket.\n\nEsse parâmetro deve respeitar os seguintes critérios, para os anexos serem anexados corretamente na resposta:\n- O valor desse parâmetro deve ser uma lista de arquivos\n- É permitido anexar no máximo 10 arquivos por requisição\n- Cada arquivo deve possuir no máx 25 megabytes",
                    "maxItems": 10,
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              }
            }
          },
          "required": true,
          "description": "O body dessa requisição é do tipo multipart/form-data e aceita o seguinte atributo:"
        }
      }
    },
    "/tickets/{ticket_number}/files/{id}": {
      "delete": {
        "summary": "Excluir arquivo em ticket",
        "tags": [
          "Tickets - Arquivos"
        ],
        "description": "Remove um arquivo anexado em um determinado ticket.",
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "Exemplo 1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "ID do arquivo que será excluído",
            "examples": {
              "Exemplo 1": {
                "value": 3
              }
            },
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "delete_tickets_ticket_number_files_id",
        "responses": {
          "204": {
            "description": "### **Arquivo removido com sucesso**\n\n> Essa resposta não contem body"
          },
          "404": {
            "description": "### **Ticket ou resposta não encontrados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::TicketFile with 'id'=\"99999\" [WHERE \"service_desk_ticket_files\".\"ticket_id\" = $1]"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/tickets": {
      "get": {
        "summary": "Listar tickets",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "filter_by",
            "in": "query",
            "description": "Filtrar tickets por status de abertura/fechamento. Quando informado, o parâmetro `is_closed` é ignorado.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "open",
                "closed",
                "all"
              ],
              "default": "open"
            },
            "examples": {
              "Abertos": {
                "value": "open",
                "summary": "Listar apenas tickets abertos"
              },
              "Fechados": {
                "value": "closed",
                "summary": "Listar apenas tickets fechados"
              },
              "Todos": {
                "value": "all",
                "summary": "Listar tickets abertos e fechados"
              }
            }
          },
          {
            "name": "desk_ids",
            "in": "query",
            "style": "form",
            "explode": false,
            "description": "Filtrar tickets por mesas de serviço.\n\n * Deve ser informado uma lista com os IDs das mesas, separados por vírgula (`,`) e sem espaços: `desk_ids=1,2,3`\n\n * O número máximo de itens permitidos é **15**.\n\n * Valores duplicados não são permitidos.",
            "schema": {
              "type": "array",
              "maxItems": 15,
              "uniqueItems": true,
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": [
                  1
                ],
                "summary": "Filtrar tickets por uma mesa"
              },
              "2": {
                "value": [
                  1,
                  2
                ],
                "summary": "Filtrar tickets por mais de uma mesa"
              }
            },
            "required": false
          },
          {
            "name": "client_ids",
            "in": "query",
            "style": "form",
            "explode": false,
            "description": "Filtrar tickets por clientes.\n\n * Deve ser informado uma lista com os IDs dos clientes, separados por vírgula (`,`) e sem espaços: `client_ids=1,2,3`\n\n * O número máximo de itens permitidos é **15**.\n\n * Valores duplicados não são permitidos.",
            "schema": {
              "type": "array",
              "maxItems": 15,
              "uniqueItems": true,
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": [
                  1
                ],
                "summary": "Filtrar tickets por um cliente"
              },
              "2": {
                "value": [
                  1,
                  2
                ],
                "summary": "Filtrar tickets por mais de um cliente"
              }
            },
            "required": false
          },
          {
            "name": "responsible_ids",
            "in": "query",
            "style": "form",
            "explode": false,
            "description": "Filtrar tickets pelos usuários responsáveis.\n\n * Deve ser informado uma lista com os IDs dos usuários, separados por vírgula (`,`) e sem espaços: `responsible_ids=1,2,3`\n\n * O número máximo de itens permitidos é **15**.\n\n * Valores duplicados não são permitidos.",
            "schema": {
              "type": "array",
              "maxItems": 15,
              "uniqueItems": true,
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": [
                  1
                ],
                "summary": "Filtrar tickets por um usuário"
              },
              "2": {
                "value": [
                  1,
                  2
                ],
                "summary": "Filtrar tickets por mais de um usuário"
              }
            },
            "required": false
          },
          {
            "name": "status_id",
            "in": "query",
            "description": "Filtrar tickets por status",
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": 1
              }
            },
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "priority_ids",
            "in": "query",
            "style": "form",
            "explode": false,
            "description": "Filtrar tickets por prioridades.\n\n * Deve ser informado uma lista com os IDs das prioridades, separados por vírgula (`,`) e sem espaços: `priority_ids=1,2,3`\n\n * O número máximo de itens permitidos é **15**.\n\n * Valores duplicados não são permitidos.",
            "schema": {
              "type": "array",
              "maxItems": 15,
              "uniqueItems": true,
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": [
                  1
                ],
                "summary": "Filtrar tickets por uma prioridade"
              },
              "2": {
                "value": [
                  1,
                  2
                ],
                "summary": "Filtrar tickets por mais de uma prioridade"
              }
            },
            "required": false
          },
          {
            "name": "services_catalogs_item_ids",
            "in": "query",
            "style": "form",
            "explode": false,
            "description": "Filtrar tickets por item do catálogo de serviço.\n\n * Deve ser informado uma lista com os IDs dos itens de catálogos, separados por vírgula (`,`) e sem espaços: `services_catalogs_item_ids=1,2,3`\n\n * O número máximo de itens permitidos é **15**.\n\n * Valores duplicados não são permitidos.",
            "schema": {
              "type": "array",
              "maxItems": 15,
              "uniqueItems": true,
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": [
                  1
                ],
                "summary": "Filtrar tickets por um usuário"
              },
              "2": {
                "value": [
                  1,
                  2
                ],
                "summary": "Filtrar tickets por mais de um usuário"
              }
            },
            "required": false
          },
          {
            "name": "stage_ids",
            "in": "query",
            "style": "form",
            "explode": false,
            "description": "Filtrar tickets por estágios.\n\n * Deve ser informado uma lista com os IDs dos estágios, separados por vírgula (`,`) e sem espaços: `stage_ids=1,2,3`\n\n * O número máximo de itens permitidos é **15**.\n\n * Valores duplicados não são permitidos.",
            "schema": {
              "type": "array",
              "maxItems": 15,
              "uniqueItems": true,
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": [
                  1
                ],
                "summary": "Filtrar tickets por um estágio"
              },
              "2": {
                "value": [
                  1,
                  2
                ],
                "summary": "Filtrar tickets por mais de um estágio"
              }
            },
            "required": false
          },
          {
            "name": "requestor_ids",
            "in": "query",
            "style": "form",
            "explode": false,
            "description": "Filtrar tickets pelo ID de um solicitante\n\n**OBS:** O solicitante precisa estar selecionado no ticket para conseguir ser encontrado por esse filtro. Se tem apenas o email preenchido, você pode usar o parâmetro :requestor_email\n\n * Deve ser informado uma lista com os IDs dos solicitantes, separados por vírgula (`,`) e sem espaços: `requestor_ids=1,2,3`\n\n * O número máximo de itens permitidos é **15**.\n\n * Valores duplicados não são permitidos.",
            "schema": {
              "type": "array",
              "maxItems": 15,
              "uniqueItems": true,
              "items": {
                "type": "integer"
              }
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": [
                  1
                ],
                "summary": "Filtrar tickets por um solicitante"
              },
              "2": {
                "value": [
                  1,
                  2
                ],
                "summary": "Filtrar tickets por mais de um solicitante"
              }
            },
            "required": false
          },
          {
            "name": "requestor_email",
            "in": "query",
            "description": "Filtrar tickets pelo email do solicitante",
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "solicitante@mail.com"
              }
            },
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_filled_entity",
            "in": "query",
            "description": "Exibir os campos personalizados que estão preenchidos e relacionados nos tickets",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false
          },
          {
            "name": "has_jira_issue",
            "in": "query",
            "description": "Filtrar tickets por vínculo com Jira. Por padrão será `false` e o filtro segue como é atualmente. Caso deseje filtrar apenas os tickets que possuem vínculo com issues do Jira, utilize `true`",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false
          },
          {
            "name": "jira_key",
            "in": "query",
            "description": "Filtrar tickets por uma chave específica do Jira (Jira Key). Ao informar uma chave, serão retornados todos os tickets vinculados a essa issue do Jira",
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "PROJ-123"
              }
            },
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_by_way_of",
            "in": "query",
            "description": "Filtrar tickets pelo método de criação. Você deve informar o número referente a forma de criação:\n * `0` - Tiflux Web\n * `1` - Tiflux Agent\n * `2` - Chat Widget\n * `3` - Whatsapp\n * `4` - Email\n * `5` - External form\n * `6` - Tiflux Mobile\n * `7` - Tiflux API\n * `8` - Chat\n * `9` - Recurrent activity\n * `10` - Trigger\n",
            "schema": {
              "type": "integer",
              "enum": [
                "0",
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                "10"
              ]
            },
            "required": false
          },
          {
            "name": "search",
            "in": "query",
            "description": "Parâmetro de busca que permite realizar buscas detalhadas e específicas em tickets. Com ele, é possível procurar por vários campos e aplicar condições especiais para uma pesquisa avançada.\n\n**Campos de busca**\n\nAo utilizar esse parâmetro, os tickets serão filtrados pelos seguintes campos:        \n * Título do ticket\n * Nome do cliente\n * Nome da mesa\n * Número do ticket\n * Nome do responsável\n * Caracteres iniciais da descrição do ticket\n",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_type",
            "in": "query",
            "description": "Filtrar tickets por data de criação e data de resolução. Favor informar o parâmetro `start_datetime` ou `end_datetime` para uma busca mais precisa",
            "type": "string",
            "examples": {
              "0": {
                "value": "created_at"
              },
              "1": {
                "value": "solved_in_time"
              }
            },
            "required": false,
            "schema": {
              "type": "string",
              "default": "created_at"
            }
          },
          {
            "name": "start_datetime",
            "in": "query",
            "description": "Filtrar tickets cuja data de criação ou resolução seja posterior à data informada, conforme definido em `date_type`. Favor incluir a data com horário e timezone para uma busca mais precisa.\n\nNo formato [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601): YYYY-MM-DDTHH:MM:SSZ",
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-05-15T20:42:30Z"
              }
            },
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_datetime",
            "in": "query",
            "description": "Filtrar tickets cuja data de criação ou resolução seja anterior à data informada, conforme definido em `date_type`. Favor incluir a data com horário e timezone para uma busca mais precisa.\n\nNo formato [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601): YYYY-MM-DDTHH:MM:SSZ",
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-05-15T20:42:30Z"
              }
            },
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "update_start_datetime",
            "in": "query",
            "description": "Filtrar tickets pela data de atualização (que foram atualizados após essa data). Favor incluir a data com horário e timezone para uma busca mais precisa.\n\nNo formato [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601): YYYY-MM-DDTHH:MM:SSZ",
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-05-15T20:42:30Z"
              }
            },
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "update_end_datetime",
            "in": "query",
            "description": "Filtrar tickets pela data de atualização (que foram atualizados antes dessa data). Favor incluir a data com horário e timezone para uma busca mais precisa.\n\nNo formato [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601): YYYY-MM-DDTHH:MM:SSZ",
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "2024-05-15T20:42:30Z"
              }
            },
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "description": "Lista os tickets em sua organização, retornando apenas informações básicas dos tickets. Para obter detalhes completos sobre um ticket específico, utilize a requisição [Exibir ticket](#get-/tickets/-ticket_number-).\n\n### **Campos Personalizados**\n* Por padrão, os campos personalizados dos tickets **não** serão exibidos nessa requisição\n* Para incluí-los, utilize o parâmetro `include_filled_entity=true`.\n* O uso de `include_filled_entity` **não é compatível** com tickets fechados (`filter_by=closed` ou `filter_by=all`), uma vez que não é permitido listar campos personalizados de tickets fechados.\n* Ao utilizar esse parâmetro, será adicionado um atributo de nome `entity_fields` na resposta dessa requisição. Contendo a lista de campos personalizados que estão **vinculados** no ticket e **possuem valores preenchidos**.\n\n\n\n\n**OBS:** Essa rota só irá listar os tickets que o seu usuário possui acesso.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "examples": {
                  "Listagem padrão de tickets": {
                    "value": [
                      {
                        "ticket_number": 18,
                        "client": {
                          "id": 38,
                          "name": "Kuvalis-Schamberger"
                        },
                        "created_at": "2026-04-28T20:58:51Z",
                        "created_by_id": 1,
                        "created_by_way_of": "Tiflux Web",
                        "desk": {
                          "id": 25,
                          "name": "API"
                        },
                        "followers": "renda@kshlerin-braun.test",
                        "is_closed": false,
                        "is_revised": false,
                        "last_answer_type": null,
                        "priority": {
                          "id": 50,
                          "name": "Low"
                        },
                        "reopen_count": 0,
                        "requestor": {
                          "id": null,
                          "email": "katlyn@dicki.test",
                          "name": "teste",
                          "ramal": null,
                          "telephone": "+45892156478"
                        },
                        "responsible": {
                          "id": 1,
                          "name": "Nancy Botsford DO"
                        },
                        "services_catalog": null,
                        "sla_info": {
                          "attend_expiration": "2026-04-30T09:30:00Z",
                          "attend_sla": true,
                          "attend_sla_solution": true,
                          "solve_expiration": "2026-05-06T15:00:00Z",
                          "solved_in_time": null,
                          "stage_expiration": "2026-04-29T09:00:00Z",
                          "stopped": false
                        },
                        "stage": {
                          "id": 79,
                          "name": "N2"
                        },
                        "status": {
                          "id": 73,
                          "name": "Opened"
                        },
                        "title": "Ticket with stage changes",
                        "updated_at": "2026-04-28T21:28:51Z",
                        "updated_by_id": 1
                      },
                      {
                        "ticket_number": 17,
                        "client": {
                          "id": 36,
                          "name": "Breitenberg Group"
                        },
                        "created_at": "2026-04-28T21:28:51Z",
                        "created_by_id": 1,
                        "created_by_way_of": "Tiflux Web",
                        "desk": {
                          "id": 22,
                          "name": "API"
                        },
                        "followers": "lorette@gorczany.test",
                        "is_closed": false,
                        "is_revised": false,
                        "last_answer_type": null,
                        "priority": {
                          "id": 44,
                          "name": "Low"
                        },
                        "reopen_count": 0,
                        "requestor": {
                          "id": null,
                          "email": "lynne@baumbach.example",
                          "name": "teste",
                          "ramal": null,
                          "telephone": "+45892156478"
                        },
                        "responsible": {
                          "id": 1,
                          "name": "Nancy Botsford DO"
                        },
                        "services_catalog": null,
                        "sla_info": {
                          "attend_expiration": "2026-04-30T09:30:00Z",
                          "attend_sla": true,
                          "attend_sla_solution": true,
                          "solve_expiration": "2026-05-06T15:00:00Z",
                          "solved_in_time": null,
                          "stage_expiration": "2026-04-29T12:00:00Z",
                          "stopped": false
                        },
                        "stage": {
                          "id": 67,
                          "name": "Pending"
                        },
                        "status": {
                          "id": 64,
                          "name": "Opened"
                        },
                        "title": "To be, or not to be: that is the question",
                        "updated_at": "2026-04-28T21:28:51Z",
                        "updated_by_id": 1
                      }
                    ]
                  },
                  "Listar tickets com entidades": {
                    "value": [
                      {
                        "ticket_number": 18,
                        "client": {
                          "id": 38,
                          "name": "Kuvalis-Schamberger"
                        },
                        "created_at": "2026-04-28T20:58:51Z",
                        "created_by_id": 1,
                        "created_by_way_of": "Tiflux Web",
                        "desk": {
                          "id": 25,
                          "name": "API"
                        },
                        "entity_fields": [

                        ],
                        "followers": "renda@kshlerin-braun.test",
                        "is_closed": false,
                        "is_revised": false,
                        "last_answer_type": null,
                        "priority": {
                          "id": 50,
                          "name": "Low"
                        },
                        "reopen_count": 0,
                        "requestor": {
                          "id": null,
                          "email": "katlyn@dicki.test",
                          "name": "teste",
                          "ramal": null,
                          "telephone": "+45892156478"
                        },
                        "responsible": {
                          "id": 1,
                          "name": "Nancy Botsford DO"
                        },
                        "services_catalog": null,
                        "sla_info": {
                          "attend_expiration": "2026-04-30T09:30:00Z",
                          "attend_sla": true,
                          "attend_sla_solution": true,
                          "solve_expiration": "2026-05-06T15:00:00Z",
                          "solved_in_time": null,
                          "stage_expiration": "2026-04-29T09:00:00Z",
                          "stopped": false
                        },
                        "stage": {
                          "id": 79,
                          "name": "N2"
                        },
                        "status": {
                          "id": 73,
                          "name": "Opened"
                        },
                        "title": "Ticket with stage changes",
                        "updated_at": "2026-04-28T21:28:51Z",
                        "updated_by_id": 1
                      },
                      {
                        "ticket_number": 17,
                        "client": {
                          "id": 36,
                          "name": "Breitenberg Group"
                        },
                        "created_at": "2026-04-28T21:28:51Z",
                        "created_by_id": 1,
                        "created_by_way_of": "Tiflux Web",
                        "desk": {
                          "id": 22,
                          "name": "API"
                        },
                        "entity_fields": [

                        ],
                        "followers": "lorette@gorczany.test",
                        "is_closed": false,
                        "is_revised": false,
                        "last_answer_type": null,
                        "priority": {
                          "id": 44,
                          "name": "Low"
                        },
                        "reopen_count": 0,
                        "requestor": {
                          "id": null,
                          "email": "lynne@baumbach.example",
                          "name": "teste",
                          "ramal": null,
                          "telephone": "+45892156478"
                        },
                        "responsible": {
                          "id": 1,
                          "name": "Nancy Botsford DO"
                        },
                        "services_catalog": null,
                        "sla_info": {
                          "attend_expiration": "2026-04-30T09:30:00Z",
                          "attend_sla": true,
                          "attend_sla_solution": true,
                          "solve_expiration": "2026-05-06T15:00:00Z",
                          "solved_in_time": null,
                          "stage_expiration": "2026-04-29T12:00:00Z",
                          "stopped": false
                        },
                        "stage": {
                          "id": 67,
                          "name": "Pending"
                        },
                        "status": {
                          "id": 64,
                          "name": "Opened"
                        },
                        "title": "To be, or not to be: that is the question",
                        "updated_at": "2026-04-28T21:28:51Z",
                        "updated_by_id": 1
                      }
                    ]
                  },
                  "Listar tickets com vínculo Jira": {
                    "value": [
                      {
                        "ticket_number": 19,
                        "client": {
                          "id": 36,
                          "name": "Breitenberg Group"
                        },
                        "created_at": "2026-04-28T21:28:52Z",
                        "created_by_id": null,
                        "created_by_way_of": "Tiflux Web",
                        "desk": {
                          "id": 19,
                          "name": "API"
                        },
                        "followers": "marietta.howe@runolfsson.example",
                        "is_closed": false,
                        "is_revised": false,
                        "jira_issues": [
                          {
                            "id": "93989",
                            "key": "TEST-786",
                            "link": "https://example.atlassian.net/browse/TEST-786",
                            "status": "In Progress"
                          }
                        ],
                        "last_answer_type": null,
                        "priority": {
                          "id": 37,
                          "name": "High"
                        },
                        "reopen_count": 0,
                        "requestor": {
                          "id": null,
                          "email": "lily@king-herman.test",
                          "name": "teste",
                          "ramal": null,
                          "telephone": "+45892156478"
                        },
                        "responsible": {
                          "id": 1,
                          "name": "Nancy Botsford DO"
                        },
                        "services_catalog": null,
                        "sla_info": {
                          "attend_expiration": "2026-04-29T12:00:00Z",
                          "attend_sla": true,
                          "attend_sla_solution": true,
                          "solve_expiration": "2026-05-01T16:30:00Z",
                          "solved_in_time": null,
                          "stage_expiration": "2026-04-29T12:00:00Z",
                          "stopped": false
                        },
                        "stage": {
                          "id": 58,
                          "name": "Pending"
                        },
                        "status": {
                          "id": 55,
                          "name": "Opened"
                        },
                        "title": "Only a test",
                        "updated_at": "2026-04-28T21:28:52Z",
                        "updated_by_id": null
                      }
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "desk_ids - Informado como uma string": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `desk_ids`?**\nO valor do parâmetro `desk_ids` deve ser informado como **uma lista de até 15 números inteiros**, representando os IDs das mesas.\n\nEsses números devem estar **separados por vírgulas** e **não podem se repetir**.\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "desk_ids": [
                          "must be a comma-separated list of integers"
                        ]
                      }
                    }
                  },
                  "start_datetime - Data inválida": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `start_datetime`?**\nO valor do parâmetro `start_datetime` deve ser informado como **uma string no formato [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)**.\n\nComo por exemplo:\n- 2024-05-15T20:42:30Z\n- 2024-05-15T17:42:30-03:00\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "start_datetime": [
                          "invalid datetime"
                        ]
                      }
                    }
                  },
                  "created_by_way_of - Informando o número 11": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `created_by_way_of`?**\nO valor do parâmetro `created_by_way_of` deve ser informado como **um número entre 0-10**.\n\nConfira logo acima na documentação a quais formas de criação os números se referem.\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "created_by_way_of": [
                          "must be less than or equal to 10"
                        ]
                      }
                    }
                  },
                  "client_ids - Com os IDs separados por espaço": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `client_ids`?**\nO parâmetro `client_ids` deve ser informado como **uma lista de até 15 números inteiros**, representando os IDs dos clientes.\n\nEsses números devem estar **separados por vírgulas** e **não podem se repetir**.\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "client_ids": [
                          "must be a comma-separated list of integers"
                        ]
                      }
                    }
                  },
                  "end_datetime - Precisa ser maior que start_datetime": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `end_datetime`?**\nO valor do parâmetro `end_datetime` deve ser informado como **uma string no formato [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)**. E deve conter uma data/hora **posterior** ao valor informado em **`start_datetime`**.\n\n> Caso `end_datetime` seja igual ou anterior a `start_datetime`, o sistema retornará erro de validação.\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "end_datetime": [
                          "must be greater than :start_datetime (2020-01-01)"
                        ]
                      }
                    }
                  },
                  "requestor_ids - Informando 16 valores": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `requestor_ids`?**\nO parâmetro `requestor_ids` deve ser informado como **uma lista de até 15 números inteiros**, representando os IDs dos solicitantes.\n\nEsses números devem estar **separados por vírgulas** e **não podem se repetir**.\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "requestor_ids": [
                          "cannot have more than 15 items"
                        ]
                      }
                    }
                  },
                  "stage_ids - Informando valores duplicados": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `stage_ids`?**\nO parâmetro `stage_ids` deve ser informado como **uma lista de até 15 números inteiros**, representando os IDs dos estágios.\n\nEsses números devem estar **separados por vírgulas** e **não podem se repetir**.\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "stage_ids": [
                          "cannot contain duplicate values"
                        ]
                      }
                    }
                  },
                  "filter_by - Valor inválido": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `filter_by`?**\nO parâmetro `filter_by` deve ser informado com um dos seguintes valores: `open`, `closed` ou `all`.\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "filter_by": [
                          "invalid is not a valid option. Filter by must be 'open', 'closed' or 'all'"
                        ]
                      }
                    }
                  },
                  "has_jira_issue - Valor inválido": {
                    "description": "### **Como corrigir o erro `42201` para o parâmetro `has_jira_issue`?**\nO parâmetro `has_jira_issue` deve ser informado com um dos seguintes valores: `true` ou `false`.\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "has_jira_issue": [
                          "invalid is not a valid option. Has jira issue must be 'true' or 'false'"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "red",
            "label": "Visualizar tickets em que eu não sou o responsável"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "post": {
        "summary": "Criar ticket",
        "tags": [
          "Tickets"
        ],
        "description": "Este método possibilita a criação de um novo ticket.\n\n\nOs campos `priority_id` e `services_catalogs_item_id` dependem diretamente da configuração da mesa:\n- Se a mesa exigir catálogo na abertura do ticket (campo *require_service_catalog_open_ticket* na mesa for `true`), o atributo `services_catalogs_item_id` deve ser preenchido com a id de um item do catálogo de serviço vinculado a esta mesa.\n\n- Caso seja `false`, a mesa exige uma prioridade, logo, o campo `priority_id` deve ser preenchido com o id de uma prioridade que esteja cadastrada na mesa.",
        "parameters": [

        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "post_tickets",
        "responses": {
          "201": {
            "description": "### **Ticket criado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "ticket": {
                    "ticket_number": 23,
                    "client": {
                      "id": 2,
                      "name": "Powlowski and Sons",
                      "social": "Willms Inc",
                      "social_revenue": "10594825000801",
                      "status": true
                    },
                    "closed_ticket_total_spent_solving": null,
                    "created_at": "2026-04-28T21:28:55Z",
                    "created_by_id": 1,
                    "created_by_way_of": "Tiflux API",
                    "created_with_ai": false,
                    "custom_fields": null,
                    "description": "Descrição do ticket criado pela API",
                    "desk": {
                      "id": 1,
                      "active": true,
                      "appointment_type": "Appointments with no Valorization",
                      "display_name": "API",
                      "name": "API"
                    },
                    "equipment": {
                      "id": null,
                      "name": null,
                      "group_id": null,
                      "user_id": null
                    },
                    "feedback": null,
                    "followers": null,
                    "is_closed": false,
                    "is_duplicating": false,
                    "is_grouped": false,
                    "is_revised": false,
                    "last_answer_type": null,
                    "last_reopen_date": null,
                    "priority": {
                      "id": 1,
                      "end_time": "24:00",
                      "name": "High",
                      "order": 1,
                      "start_time": "04:00"
                    },
                    "priority_change_reason": null,
                    "reopen_count": 0,
                    "requestor": {
                      "id": null,
                      "email": null,
                      "name": null,
                      "ramal": null,
                      "telephone": ""
                    },
                    "responsible": null,
                    "services_catalog": null,
                    "sla_info": {
                      "attend_expiration": "2026-04-29T12:00:00Z",
                      "attend_sla": true,
                      "attend_sla_solution": true,
                      "desactivate_sla_reason": null,
                      "solve_expiration": "2026-05-01T16:30:00Z",
                      "solved_in_time": null,
                      "stage_expiration": "2026-04-29T12:00:00Z",
                      "stopped": false
                    },
                    "stage": {
                      "id": 1,
                      "first_stage": true,
                      "last_stage": false,
                      "max_time": "04:00",
                      "name": "Pending"
                    },
                    "status": {
                      "id": 1,
                      "default_canceled": false,
                      "default_close": false,
                      "default_open": true,
                      "name": "Opened"
                    },
                    "ticket_children": [

                    ],
                    "ticket_reference": {
                    },
                    "title": "Título do ticket",
                    "updated_at": "2026-04-28T21:28:55Z",
                    "updated_by_id": 1,
                    "url_external_path": "https://api.tiflux.com/r/externals/ticket/view/23/733f336b-d99e-43a5-9a97-099e7eca87be/1dbe59b6-06bf-4689-9aba-aa8ae78962d9/1",
                    "url_internal_path": "http://localhost/v/tickets/23/basic_info",
                    "worked_hours": "00:00"
                  }
                }
              }
            }
          },
          "207": {
            "description": "### **Ticket criado com sucesso, com campos personalizados**\n\nAo informar o atributo \"*entities*\" nesta requisição e obtiver sucesso na criação do ticket, você receberá uma resposta 207 contendo dois objetos no corpo da resposta: \n- **entities_errors**: Lista os campos personalizados que apresentaram falhas na atualização, com detalhes sobre os motivos dos erros. Se um campo não aparecer nesta lista, significa que ele foi atualizado com sucesso.\n- **ticket**: Contém as informações do ticket que acabou de ser criado (será um objeto do tipo Exibir ticket com `include_filled_entity=true`). O ticket será criado independentemente se os valores fornecidos em \"*entities*\" apresentaram falhas ou não.",
            "content": {
              "application/json": {
                "examples": {
                  "Criação com sucesso": {
                    "value": {
                      "entities_errors": null,
                      "ticket": {
                        "ticket_number": 30,
                        "client": {
                          "id": 2,
                          "name": "Powlowski and Sons",
                          "social": "Willms Inc",
                          "social_revenue": "10594825000801",
                          "status": true
                        },
                        "closed_ticket_total_spent_solving": null,
                        "created_at": "2026-04-28T21:28:56Z",
                        "created_by_id": 1,
                        "created_by_way_of": "Tiflux API",
                        "created_with_ai": false,
                        "custom_fields": null,
                        "description": "Descrição do ticket criado pela API",
                        "desk": {
                          "id": 1,
                          "active": true,
                          "appointment_type": "Appointments with no Valorization",
                          "display_name": "API",
                          "name": "API"
                        },
                        "entity_fields": [
                          {
                            "id": 72,
                            "entity_field_id": 72,
                            "entity_id": 15,
                            "field_type": "text",
                            "name": "Campo de texto no ticket",
                            "options": null,
                            "required": false,
                            "value": "Teste"
                          }
                        ],
                        "equipment": {
                          "id": null,
                          "name": null,
                          "group_id": null,
                          "user_id": null
                        },
                        "feedback": null,
                        "followers": null,
                        "is_closed": false,
                        "is_duplicating": false,
                        "is_grouped": false,
                        "is_revised": false,
                        "last_answer_type": null,
                        "last_reopen_date": null,
                        "priority": {
                          "id": 1,
                          "end_time": "24:00",
                          "name": "High",
                          "order": 1,
                          "start_time": "04:00"
                        },
                        "priority_change_reason": null,
                        "reopen_count": 0,
                        "requestor": {
                          "id": null,
                          "email": null,
                          "name": null,
                          "ramal": null,
                          "telephone": ""
                        },
                        "responsible": null,
                        "services_catalog": null,
                        "sla_info": {
                          "attend_expiration": "2026-04-29T12:00:00Z",
                          "attend_sla": true,
                          "attend_sla_solution": true,
                          "desactivate_sla_reason": null,
                          "solve_expiration": "2026-05-01T16:30:00Z",
                          "solved_in_time": null,
                          "stage_expiration": "2026-04-29T12:00:00Z",
                          "stopped": false
                        },
                        "stage": {
                          "id": 1,
                          "first_stage": true,
                          "last_stage": false,
                          "max_time": "04:00",
                          "name": "Pending"
                        },
                        "status": {
                          "id": 1,
                          "default_canceled": false,
                          "default_close": false,
                          "default_open": true,
                          "name": "Opened"
                        },
                        "ticket_children": [

                        ],
                        "ticket_reference": {
                        },
                        "title": "Título do ticket",
                        "updated_at": "2026-04-28T21:28:56Z",
                        "updated_by_id": 1,
                        "url_external_path": "https://api.tiflux.com/r/externals/ticket/view/30/2a5b213f-05b0-4c99-8c15-a540e517c498/1dbe59b6-06bf-4689-9aba-aa8ae78962d9/1",
                        "url_internal_path": "http://localhost/v/tickets/30/basic_info",
                        "worked_hours": "00:00"
                      }
                    }
                  },
                  "Criação com falha nas entidades informadas": {
                    "value": {
                      "entities_errors": {
                        "entities": [
                          "The property '#/0/entity_field_id': Couldn't find EntityField with id=0 applied in ServiceDesk::Ticket. The entity may be inactive or not exist",
                          "The property '#/1/' did not contain a required property of 'entity_field_id' in schema 34337688-21eb-563d-8c1e-79a0682d932b"
                        ]
                      },
                      "ticket": {
                        "ticket_number": 32,
                        "client": {
                          "id": 2,
                          "name": "Powlowski and Sons",
                          "social": "Willms Inc",
                          "social_revenue": "10594825000801",
                          "status": true
                        },
                        "closed_ticket_total_spent_solving": null,
                        "created_at": "2026-04-28T21:28:56Z",
                        "created_by_id": 1,
                        "created_by_way_of": "Tiflux API",
                        "created_with_ai": false,
                        "custom_fields": null,
                        "description": "Descrição do ticket criado pela API",
                        "desk": {
                          "id": 1,
                          "active": true,
                          "appointment_type": "Appointments with no Valorization",
                          "display_name": "API",
                          "name": "API"
                        },
                        "entity_fields": [

                        ],
                        "equipment": {
                          "id": null,
                          "name": null,
                          "group_id": null,
                          "user_id": null
                        },
                        "feedback": null,
                        "followers": null,
                        "is_closed": false,
                        "is_duplicating": false,
                        "is_grouped": false,
                        "is_revised": false,
                        "last_answer_type": null,
                        "last_reopen_date": null,
                        "priority": {
                          "id": 1,
                          "end_time": "24:00",
                          "name": "High",
                          "order": 1,
                          "start_time": "04:00"
                        },
                        "priority_change_reason": null,
                        "reopen_count": 0,
                        "requestor": {
                          "id": null,
                          "email": null,
                          "name": null,
                          "ramal": null,
                          "telephone": ""
                        },
                        "responsible": null,
                        "services_catalog": null,
                        "sla_info": {
                          "attend_expiration": "2026-04-29T12:00:00Z",
                          "attend_sla": true,
                          "attend_sla_solution": true,
                          "desactivate_sla_reason": null,
                          "solve_expiration": "2026-05-01T16:30:00Z",
                          "solved_in_time": null,
                          "stage_expiration": "2026-04-29T12:00:00Z",
                          "stopped": false
                        },
                        "stage": {
                          "id": 1,
                          "first_stage": true,
                          "last_stage": false,
                          "max_time": "04:00",
                          "name": "Pending"
                        },
                        "status": {
                          "id": 1,
                          "default_canceled": false,
                          "default_close": false,
                          "default_open": true,
                          "name": "Opened"
                        },
                        "ticket_children": [

                        ],
                        "ticket_reference": {
                        },
                        "title": "Título do ticket",
                        "updated_at": "2026-04-28T21:28:56Z",
                        "updated_by_id": 1,
                        "url_external_path": "https://api.tiflux.com/r/externals/ticket/view/32/82fe848a-2581-47ae-af8b-30240158a4e0/1dbe59b6-06bf-4689-9aba-aa8ae78962d9/1",
                        "url_internal_path": "http://localhost/v/tickets/32/basic_info",
                        "worked_hours": "00:00"
                      }
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum valor de atributo informado**",
            "content": {
              "application/json": {
                "examples": {
                  "Faltou informar parâmetros obrigatórios": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "desk_id": [
                          "can't be blank",
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Referência inválida": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "ticket_reference_number": [
                          "ticket not found or you do not have permission to create this reference"
                        ]
                      }
                    }
                  },
                  "Formato das entidades está inválido": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "entities": [
                          "unexpected token at '{ value }]'"
                        ]
                      }
                    }
                  },
                  "Prioridade não existe": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "priority_id": [
                          "priority not found or does not belongs to desk"
                        ]
                      }
                    }
                  },
                  "Problemas com os arquivos informados": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "files": [
                          "You are not sending a File. The value of 'files' items need to be a File type"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "example": "Título do ticket"
                  },
                  "description": {
                    "type": "string",
                    "example": "Descrição do ticket"
                  },
                  "client_id": {
                    "type": "integer",
                    "description": "ID do cliente em que o ticket será aberto",
                    "example": 21
                  },
                  "desk_id": {
                    "type": "integer",
                    "description": "ID da mesa em que o ticket será aberto",
                    "example": 42
                  },
                  "priority_id": {
                    "type": "integer",
                    "description": "ID da prioridade em que o ticket será aberto. Obrigatório apenas se o parâmetro \"*Selecionar item do catálogo de serviço antes de abrir o ticket*\" for falso na mesa selecionada"
                  },
                  "services_catalogs_item_id": {
                    "type": "integer",
                    "description": "ID do item de catálogo de serviços em que o ticket será aberto. Obrigatório apenas se o parâmetro \"*Selecionar item do catálogo de serviço antes de abrir o ticket*\" for verdadeiro na mesa selecionada"
                  },
                  "files[]": {
                    "type": "array",
                    "description": "Lista com os arquivos que serão anexados no ticket.\n\nEsse parâmetro deve respeitar os seguintes critérios para os anexos serem anexados corretamente:\n- O valor desse parâmetro deve ser uma lista de arquivos\n- É permitido anexar no máximo 10 arquivos por requisição\n- Cada arquivo deve possuir no máx 25 megabytes",
                    "maxItems": 10,
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  },
                  "status_id": {
                    "type": "integer",
                    "description": "ID do status em que o ticket será aberto. Esse parâmetro não é obrigatório. Pois se ele não for informado, o ticket será criado no status padrão de tickets abertos da mesa selecionada"
                  },
                  "requestor_id": {
                    "type": "integer",
                    "description": "Ao invés de informar os campos do solicitante um a um (requestor_name, requestor_email, requestor_telephone e etc), você pode apenas passar o id dele aqui nesse parâmetro, que o solicitante será vinculado ao ticket com as informações preenchidas. \n\nO solicitante deve pertencer ao cliente selecionado."
                  },
                  "requestor_name": {
                    "type": "string",
                    "description": "Nome do Solicitante"
                  },
                  "requestor_email": {
                    "type": "string",
                    "description": "Email do Solicitante"
                  },
                  "requestor_telephone": {
                    "type": "string",
                    "description": "Telefone do Solicitante"
                  },
                  "requestor_country": {
                    "type": "string",
                    "default": "BR",
                    "description": "Código de país no formato <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\" target=\"_blank\">ISO 3166-1 alpha-2</a>\n\nEste atributo será utilizado para validar se o número de telefone do solicitante (requestor_telephone), é um número válido em algum outro país"
                  },
                  "requestor_ramal": {
                    "type": "integer",
                    "description": "Ramal do Solicitante"
                  },
                  "equipment_id": {
                    "type": "integer",
                    "description": "ID do equipamento que será vinculado ao ticket"
                  },
                  "equipment_group_id": {
                    "type": "integer",
                    "description": "ID do grupo de equipamentos que será vinculado ao ticket"
                  },
                  "equipment_user_id": {
                    "type": "integer",
                    "description": "ID do usuário do equipamento que será vinculado ao ticket"
                  },
                  "stage_id": {
                    "type": "integer",
                    "description": "ID do estágio em que o ticket será aberto. Esse parâmetro não é obrigatório. Pois se ele não for informado, o ticket será criado no estágio pendente da mesa selecionada"
                  },
                  "responsible_id": {
                    "type": "integer",
                    "description": "ID do responsável que será atribuído ao ticket"
                  },
                  "ticket_reference_number": {
                    "type": "integer",
                    "description": "Número do ticket que será referenciado (atribuído como ticket pai) ao ticket criado"
                  },
                  "entities": {
                    "type": "object",
                    "description": "Esse parâmetro deve ser uma lista (array) do seguinte objeto:",
                    "example": [
                      {
                        "entity_field_id": 1,
                        "value": "teste"
                      }
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "entity_field_id": {
                        "type": "integer",
                        "description": "Identificador único do campo da entidade que será atualizada"
                      },
                      "entity_field_option_id": {
                        "type": "integer",
                        "nullable": true,
                        "default": null,
                        "description": "Identificador da opção do campo personalizado a ser atualizado.\nEste atributo só deve ser informado para campos do tipo `checkbox`"
                      },
                      "value": {
                        "type": "string",
                        "nullable": true,
                        "default": null,
                        "description": "Novo valor do campo personalizado.\nO formato específico de como o valor dessa string deve ser preenchido, depende do tipo de campo personalizado. Consulte a documentação para obter mais detalhes"
                      },
                      "country_code": {
                        "type": "string",
                        "default": "\"BR\"",
                        "description": "Código de país no formato <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\" target=\"_blank\">ISO 3166-1 alpha-2</a>\nEste atributo será utilizado para validar se o número de telefone informado é um número válido no país informado.\nEsse atributo só será utilizado ao atualizar um campo personalizado do tipo `phone`"
                      }
                    }
                  },
                  "followers": {
                    "type": "string",
                    "description": "Email dos seguidores, separados por vírgula",
                    "example": "seguidor1@email.com,seguidor2@email.com"
                  }
                },
                "required": [
                  "title",
                  "description",
                  "client_id",
                  "desk_id"
                ]
              }
            }
          },
          "description": "O body dessa requisição é do tipo multipart/form-data e aceita os seguintes atributos:"
        }
      }
    },
    "/tickets/{ticket_number}/close": {
      "put": {
        "summary": "Fechar ticket",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket que será fechado",
            "examples": {
              "1": {
                "value": 37
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Fecha um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_tickets_ticket_number_close",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "message": "Ticket 14 closed successfully"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Não foi possível fechar o ticket devido ao não cumprimento de critérios necessários**\n  Para fechar um ticket, é necessário atender a determinados requisitos definidos pelas regras de negócio do sistema. Os critérios que precisam ser cumpridos estão detalhados no atributo `detail` dessa resposta.",
            "content": {
              "application/json": {
                "examples": {
                  "Não pode fechar no estágio pendente": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "stage_id": [
                          "Can't close ticket in first stage"
                        ]
                      }
                    }
                  },
                  "Não pode fechar se houverem pré-apontamentos pendentes de preenchimento": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "pre_appointments": [
                          "This ticket has pre appointment(s), remove or complete them to close"
                        ]
                      }
                    }
                  },
                  "O SLA do ticket não pode estar pausado para fechar": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "stopped": [
                          "Unable to close ticket with stopped SLA"
                        ]
                      }
                    }
                  },
                  "Não pode haver empréstimos pendentes no ticket": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "equipment_loans": [
                          "Can't close ticket with active equipment loans"
                        ]
                      }
                    }
                  },
                  "Não pode haver checklists obrigatórios pendentes de preenchimento": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "ticket_checklists": [
                          "There are required checklists not filled"
                        ]
                      }
                    }
                  },
                  "O ticket deve possuir um responsável": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "responsible_id": [
                          "The ticket cannot be closed without a responsible"
                        ]
                      }
                    }
                  },
                  "Se a mesa possui apontamentos, deve haver pelo menos um apontamento no ticket": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "appointments": [
                          "There must be at least one appointment to close this ticket"
                        ]
                      }
                    }
                  },
                  "Se a mesa não possui apontamentos, deve haver pelo menos uma comunicação com o cliente": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "ticket_answers": [
                          "There must be at least one ticket answer to close this ticket"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/tickets/{ticket_number}": {
      "get": {
        "summary": "Exibir ticket",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket que será exibido",
            "examples": {
              "1": {
                "value": 222
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "include_filled_entity",
            "in": "query",
            "description": "Ao utilizar esse parâmetro, será adicionado um atributo de nome `entity_fields` na resposta dessa requisição. Contendo a lista de campos personalizados que estão **vinculados** no ticket e **possuem valores preenchidos**",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false
          },
          {
            "name": "show_entities",
            "in": "query",
            "description": "Ao utilizar esse parâmetro, será adicionado um atributo de nome `entities` na resposta dessa requisição. Contendo a lista de campos personalizados que estão **vinculados** no ticket",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "required": false
          }
        ],
        "description": "Exibe informações detalhadas de um determinado ticket.\n### **Campos Personalizados**\n* Por padrão, os campos personalizados dos tickets **não** serão exibidos nessa requisição\n* No entanto, você pode optar por incluir os campos utilizando os parâmetros: `include_filled_entity` ou `show_entities`.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "Exibir um ticket aberto": {
                    "value": {
                      "ticket_number": 12,
                      "client": {
                        "id": 36,
                        "name": "Breitenberg Group",
                        "social": "Sipes-Braun",
                        "social_revenue": "56341885000902",
                        "status": true
                      },
                      "closed_ticket_total_spent_solving": null,
                      "created_at": "2026-04-28T21:28:50Z",
                      "created_by_id": 1,
                      "created_by_way_of": "Tiflux Web",
                      "created_with_ai": false,
                      "custom_fields": null,
                      "description": "We have no choice, General Calrissian! Our cruisers can't repel firepower of that magnitude!",
                      "desk": {
                        "id": 19,
                        "active": true,
                        "appointment_type": "Appointments with no Valorization",
                        "display_name": "API",
                        "name": "API"
                      },
                      "equipment": {
                        "id": null,
                        "name": null,
                        "group_id": null,
                        "user_id": null
                      },
                      "feedback": null,
                      "followers": "horacio@terry-leffler.test",
                      "is_closed": false,
                      "is_duplicating": false,
                      "is_grouped": false,
                      "is_revised": false,
                      "last_answer_type": null,
                      "last_reopen_date": null,
                      "priority": {
                        "id": 38,
                        "end_time": "48:00",
                        "name": "Low",
                        "order": 2,
                        "start_time": "10:00"
                      },
                      "priority_change_reason": null,
                      "reopen_count": 0,
                      "requestor": {
                        "id": null,
                        "email": "laverna@waelchi-kautzer.test",
                        "name": "teste",
                        "ramal": null,
                        "telephone": "+45892156478"
                      },
                      "responsible": {
                        "id": 1,
                        "_type": "admin",
                        "active": true,
                        "email": "api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": "2026-04-28T21:28:58Z",
                        "name": "Nancy Botsford DO",
                        "technical_group_id": 1
                      },
                      "services_catalog": null,
                      "sla_info": {
                        "attend_expiration": "2026-04-30T09:30:00Z",
                        "attend_sla": true,
                        "attend_sla_solution": true,
                        "desactivate_sla_reason": null,
                        "solve_expiration": "2026-05-06T15:00:00Z",
                        "solved_in_time": null,
                        "stage_expiration": "2026-04-29T12:00:00Z",
                        "stopped": false
                      },
                      "stage": {
                        "id": 58,
                        "first_stage": true,
                        "last_stage": false,
                        "max_time": "04:00",
                        "name": "Pending"
                      },
                      "status": {
                        "id": 55,
                        "default_canceled": false,
                        "default_close": false,
                        "default_open": true,
                        "name": "Opened"
                      },
                      "ticket_children": [

                      ],
                      "ticket_reference": {
                      },
                      "title": "To be, or not to be: that is the question",
                      "updated_at": "2026-04-28T21:28:50Z",
                      "updated_by_id": 1,
                      "url_external_path": "https://api.tiflux.com/r/externals/ticket/view/12/a2ec0145-2792-494c-9e83-0142bd6333bb/69b0891d-8884-4a89-a25b-3515b7c2aa4d/1",
                      "url_internal_path": "http://localhost/v/tickets/12/basic_info",
                      "worked_hours": "00:00"
                    }
                  },
                  "Exibir um ticket com show_entities": {
                    "value": {
                      "ticket_number": 13,
                      "client": {
                        "id": 37,
                        "name": "Hyatt, Hirthe and Renner",
                        "social": "Corkery, Ruecker and Rohan",
                        "social_revenue": "55283827000222",
                        "status": true
                      },
                      "closed_ticket_total_spent_solving": null,
                      "created_at": "2026-04-28T21:28:51Z",
                      "created_by_id": 1,
                      "created_by_way_of": "Tiflux Web",
                      "created_with_ai": false,
                      "custom_fields": null,
                      "description": "Ooh mooey mooey I love you!",
                      "desk": {
                        "id": 20,
                        "active": true,
                        "appointment_type": "Appointments with no Valorization",
                        "display_name": "API",
                        "name": "API"
                      },
                      "entities": [
                        {
                          "id": 15,
                          "active": true,
                          "applied_in": "ticket",
                          "description": "Campo personalizado de menu",
                          "entity_fields": [
                            {
                              "id": null,
                              "entity_field_id": 72,
                              "entity_id": 15,
                              "field_type": "text",
                              "name": "Campo de texto no ticket",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 73,
                              "entity_id": 15,
                              "field_type": "text_area",
                              "name": "Campo de área de texto no ticket",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 74,
                              "entity_id": 15,
                              "field_type": "email",
                              "name": "Campo de email no ticket",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 75,
                              "entity_id": 15,
                              "field_type": "currency",
                              "name": "Campo de moeda no ticket",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 76,
                              "entity_id": 15,
                              "field_type": "phone",
                              "name": "Campo de telefone no ticket",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 77,
                              "entity_id": 15,
                              "field_type": "date",
                              "name": "Campo de data no ticket",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 78,
                              "entity_id": 15,
                              "field_type": "link",
                              "name": "Campo de link no ticket",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 79,
                              "entity_id": 15,
                              "field_type": "single_select",
                              "name": "Campo de Seleção única no ticket",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            },
                            {
                              "id": null,
                              "entity_field_id": 80,
                              "entity_id": 15,
                              "field_type": "checkbox",
                              "name": "Campo de Checkbox",
                              "options": [

                              ],
                              "required": false,
                              "value": null
                            }
                          ],
                          "menu_item": true,
                          "name": "Teste"
                        }
                      ],
                      "equipment": {
                        "id": null,
                        "name": null,
                        "group_id": null,
                        "user_id": null
                      },
                      "feedback": null,
                      "followers": "young_hammes@mertz-raynor.example",
                      "is_closed": false,
                      "is_duplicating": false,
                      "is_grouped": false,
                      "is_revised": false,
                      "last_answer_type": null,
                      "last_reopen_date": null,
                      "priority": {
                        "id": 40,
                        "end_time": "48:00",
                        "name": "Low",
                        "order": 2,
                        "start_time": "10:00"
                      },
                      "priority_change_reason": null,
                      "reopen_count": 0,
                      "requestor": {
                        "id": null,
                        "email": "buster.stiedemann@kessler-klein.example",
                        "name": "teste",
                        "ramal": null,
                        "telephone": "+45892156478"
                      },
                      "responsible": {
                        "id": 1,
                        "_type": "admin",
                        "active": true,
                        "email": "api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": "2026-04-28T21:28:58Z",
                        "name": "Nancy Botsford DO",
                        "technical_group_id": 1
                      },
                      "services_catalog": null,
                      "sla_info": {
                        "attend_expiration": "2026-04-30T09:30:00Z",
                        "attend_sla": true,
                        "attend_sla_solution": true,
                        "desactivate_sla_reason": null,
                        "solve_expiration": "2026-05-06T15:00:00Z",
                        "solved_in_time": null,
                        "stage_expiration": "2026-04-29T12:00:00Z",
                        "stopped": false
                      },
                      "stage": {
                        "id": 61,
                        "first_stage": true,
                        "last_stage": false,
                        "max_time": "04:00",
                        "name": "Pending"
                      },
                      "status": {
                        "id": 58,
                        "default_canceled": false,
                        "default_close": false,
                        "default_open": true,
                        "name": "Opened"
                      },
                      "ticket_children": [

                      ],
                      "ticket_reference": {
                      },
                      "title": "To be, or not to be: that is the question",
                      "updated_at": "2026-04-28T21:28:51Z",
                      "updated_by_id": 1,
                      "url_external_path": "https://api.tiflux.com/r/externals/ticket/view/13/3597038d-0ae5-49ae-8664-9a27cdeb3ea4/d63ead35-d05d-4a38-a9de-e45082a8a5cb/1",
                      "url_internal_path": "http://localhost/v/tickets/13/basic_info",
                      "worked_hours": "00:00"
                    }
                  },
                  "Exibir um ticket com include_filled_entity": {
                    "value": {
                      "ticket_number": 13,
                      "client": {
                        "id": 37,
                        "name": "Hyatt, Hirthe and Renner",
                        "social": "Corkery, Ruecker and Rohan",
                        "social_revenue": "55283827000222",
                        "status": true
                      },
                      "closed_ticket_total_spent_solving": null,
                      "created_at": "2026-04-28T21:28:51Z",
                      "created_by_id": 1,
                      "created_by_way_of": "Tiflux Web",
                      "created_with_ai": false,
                      "custom_fields": null,
                      "description": "Ooh mooey mooey I love you!",
                      "desk": {
                        "id": 20,
                        "active": true,
                        "appointment_type": "Appointments with no Valorization",
                        "display_name": "API",
                        "name": "API"
                      },
                      "entity_fields": [

                      ],
                      "equipment": {
                        "id": null,
                        "name": null,
                        "group_id": null,
                        "user_id": null
                      },
                      "feedback": null,
                      "followers": "young_hammes@mertz-raynor.example",
                      "is_closed": false,
                      "is_duplicating": false,
                      "is_grouped": false,
                      "is_revised": false,
                      "last_answer_type": null,
                      "last_reopen_date": null,
                      "priority": {
                        "id": 40,
                        "end_time": "48:00",
                        "name": "Low",
                        "order": 2,
                        "start_time": "10:00"
                      },
                      "priority_change_reason": null,
                      "reopen_count": 0,
                      "requestor": {
                        "id": null,
                        "email": "buster.stiedemann@kessler-klein.example",
                        "name": "teste",
                        "ramal": null,
                        "telephone": "+45892156478"
                      },
                      "responsible": {
                        "id": 1,
                        "_type": "admin",
                        "active": true,
                        "email": "api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": "2026-04-28T21:28:59Z",
                        "name": "Nancy Botsford DO",
                        "technical_group_id": 1
                      },
                      "services_catalog": null,
                      "sla_info": {
                        "attend_expiration": "2026-04-30T09:30:00Z",
                        "attend_sla": true,
                        "attend_sla_solution": true,
                        "desactivate_sla_reason": null,
                        "solve_expiration": "2026-05-06T15:00:00Z",
                        "solved_in_time": null,
                        "stage_expiration": "2026-04-29T12:00:00Z",
                        "stopped": false
                      },
                      "stage": {
                        "id": 61,
                        "first_stage": true,
                        "last_stage": false,
                        "max_time": "04:00",
                        "name": "Pending"
                      },
                      "status": {
                        "id": 58,
                        "default_canceled": false,
                        "default_close": false,
                        "default_open": true,
                        "name": "Opened"
                      },
                      "ticket_children": [

                      ],
                      "ticket_reference": {
                      },
                      "title": "To be, or not to be: that is the question",
                      "updated_at": "2026-04-28T21:28:51Z",
                      "updated_by_id": 1,
                      "url_external_path": "https://api.tiflux.com/r/externals/ticket/view/13/3597038d-0ae5-49ae-8664-9a27cdeb3ea4/d63ead35-d05d-4a38-a9de-e45082a8a5cb/1",
                      "url_internal_path": "http://localhost/v/tickets/13/basic_info",
                      "worked_hours": "00:00"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Visualizar tickets em que eu não sou o responsável"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      },
      "put": {
        "summary": "Atualizar ticket aberto",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket que será atualizado",
            "examples": {
              "1": {
                "value": 37
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Atualiza um determinado ticket.\n- Só é possível atualizar um ticket que **não esteja fechado**.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_tickets_ticket_number",
        "responses": {
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 9999999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "ticket_number": 12,
                  "client": {
                    "id": 36,
                    "name": "Breitenberg Group",
                    "social": "Sipes-Braun",
                    "social_revenue": "56341885000902",
                    "status": true
                  },
                  "closed_ticket_total_spent_solving": null,
                  "created_at": "2026-04-28T21:28:50Z",
                  "created_by_id": 1,
                  "created_by_way_of": "Tiflux Web",
                  "created_with_ai": false,
                  "custom_fields": null,
                  "description": "Nova descrição do ticket de api",
                  "desk": {
                    "id": 19,
                    "active": true,
                    "appointment_type": "Appointments with no Valorization",
                    "display_name": "API",
                    "name": "API"
                  },
                  "equipment": {
                    "id": null,
                    "name": null,
                    "group_id": null,
                    "user_id": null
                  },
                  "feedback": null,
                  "followers": "horacio@terry-leffler.test",
                  "is_closed": false,
                  "is_duplicating": false,
                  "is_grouped": false,
                  "is_revised": false,
                  "last_answer_type": null,
                  "last_reopen_date": null,
                  "priority": {
                    "id": 38,
                    "end_time": "48:00",
                    "name": "Low",
                    "order": 2,
                    "start_time": "10:00"
                  },
                  "priority_change_reason": null,
                  "reopen_count": 0,
                  "requestor": {
                    "id": null,
                    "email": "laverna@waelchi-kautzer.test",
                    "name": "teste",
                    "ramal": null,
                    "telephone": "+45892156478"
                  },
                  "responsible": {
                    "id": 1,
                    "_type": "admin",
                    "active": true,
                    "email": "api_user@example.test",
                    "gauth_enabled": false,
                    "last_login_at": "2026-04-28T21:29:00Z",
                    "name": "Nancy Botsford DO",
                    "technical_group_id": 1
                  },
                  "services_catalog": null,
                  "sla_info": {
                    "attend_expiration": "2026-04-30T09:30:00Z",
                    "attend_sla": true,
                    "attend_sla_solution": true,
                    "desactivate_sla_reason": null,
                    "solve_expiration": "2026-05-06T15:00:00Z",
                    "solved_in_time": null,
                    "stage_expiration": "2026-04-29T12:00:00Z",
                    "stopped": false
                  },
                  "stage": {
                    "id": 58,
                    "first_stage": true,
                    "last_stage": false,
                    "max_time": "04:00",
                    "name": "Pending"
                  },
                  "status": {
                    "id": 55,
                    "default_canceled": false,
                    "default_close": false,
                    "default_open": true,
                    "name": "Opened"
                  },
                  "ticket_children": [

                  ],
                  "ticket_reference": {
                    "ticket_number": 40,
                    "desk_id": 27,
                    "responsible_id": 1,
                    "stage_id": 87,
                    "status_id": 83,
                    "title": "To be, or not to be: that is the question"
                  },
                  "title": "Tiflux API",
                  "updated_at": "2026-04-28T21:29:00Z",
                  "updated_by_id": 1,
                  "url_external_path": "https://api.tiflux.com/r/externals/ticket/view/12/a2ec0145-2792-494c-9e83-0142bd6333bb/69b0891d-8884-4a89-a25b-3515b7c2aa4d/1",
                  "url_internal_path": "http://localhost/v/tickets/12/basic_info",
                  "worked_hours": "00:00"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "Titulo do ticket"
                  },
                  "description": {
                    "type": "string",
                    "description": "Descrição do ticket"
                  },
                  "stage_id": {
                    "type": "integer",
                    "description": "ID do novo estágio do ticket."
                  },
                  "responsible_id": {
                    "type": "integer",
                    "description": "ID do novo responsável, caso queria alterar o responsável do ticket. Também é aceito o valor `null`, para deixar o ticket sem responsável."
                  },
                  "stopped": {
                    "type": "boolean",
                    "description": "Se o ticket for pausado aparecerá true, caso contrário aparecerá false."
                  },
                  "stop_answer": {
                    "type": "string",
                    "description": "Resposta adicionada ao pausar o SLA."
                  },
                  "priority_id": {
                    "type": "integer",
                    "description": "ID da nova prioridade do ticket."
                  },
                  "priority_change_reason": {
                    "type": "string",
                    "description": "Resposta adicionada ao alterar a prioridade do ticket."
                  },
                  "status_id": {
                    "type": "integer",
                    "description": "ID do novo status do ticket."
                  },
                  "services_catalogs_item_id": {
                    "type": "integer",
                    "description": "ID do novo catálogo de serviço do ticket."
                  },
                  "desk_id": {
                    "type": "integer",
                    "description": "ID da nova mesa do ticket."
                  },
                  "ticket_reference_number": {
                    "type": "integer",
                    "description": "Número do ticket pai. Também é aceito o valor `null`, para remover a referência do ticket pai."
                  }
                }
              },
              "examples": {
                "Atualizar ticket": {
                  "summary": "Atualizar ticket",
                  "value": {
                    "title": "Tiflux API",
                    "description": "Nova descrição do ticket de api",
                    "stage_id": 86,
                    "responsible_id": 1,
                    "status_id": 82
                  }
                },
                "Atualizar ticket pai": {
                  "summary": "Atualizar ticket pai",
                  "value": {
                    "ticket_reference_number": 40
                  }
                },
                "Atualizar titulo e descrição do ticket": {
                  "summary": "Atualizar titulo e descrição do ticket",
                  "value": {
                    "title": "Tiflux API",
                    "description": "Nova descrição do ticket de api"
                  }
                },
                "Atualizar estágio do ticket": {
                  "summary": "Atualizar estágio do ticket",
                  "value": {
                    "stage_id": 86
                  }
                },
                "Atualizar status do ticket": {
                  "summary": "Atualizar status do ticket",
                  "value": {
                    "status_id": 82
                  }
                },
                "Pausar SLA do ticket": {
                  "summary": "Pausar SLA do ticket",
                  "value": {
                    "stop_answer": "SLA do ticket precisou ser pausado",
                    "stopped": true
                  }
                },
                "Atualizar prioridade do ticket": {
                  "summary": "Atualizar prioridade do ticket",
                  "value": {
                    "priority_id": 53,
                    "priority_change_reason": "Por motivos de terceiros a prioridade teve que ser alterada"
                  }
                },
                "Atualizar mesa do ticket": {
                  "summary": "Atualizar mesa do ticket",
                  "value": {
                    "desk_id": 23,
                    "priority_id": 45,
                    "stage_id": 70,
                    "status_id": 67,
                    "responsible_id": 1
                  }
                },
                "Atualizar mesa do ticket com prioridade": {
                  "summary": "Atualizar mesa do ticket com prioridade",
                  "value": {
                    "desk_id": 23,
                    "priority_id": 45
                  }
                },
                "Atualizar mesa do ticket com item de catálogo": {
                  "summary": "Atualizar mesa do ticket com item de catálogo",
                  "value": {
                    "desk_id": 24,
                    "services_catalogs_item_id": 7
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/tickets/{ticket_number}/cancel": {
      "put": {
        "summary": "Cancelar ticket",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket que será cancelado",
            "examples": {
              "1": {
                "value": 37
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Cancela um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_tickets_ticket_number_cancel",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "message": "Ticket 16 cancelled successfully"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Não foi possível cancelar o ticket devido ao não cumprimento de critérios necessários**\nPara cancelar um ticket, é necessário atender a determinados requisitos definidos pelas regras de negócio do sistema. Os critérios que precisam ser cumpridos estão detalhados no atributo `detail` dessa resposta.",
            "content": {
              "application/json": {
                "examples": {
                  "Não pode cancelar se houverem pré-apontamentos pendentes de preenchimento": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "pre_appointments": [
                          "This ticket has pre appointment(s), remove or complete them to close"
                        ]
                      }
                    }
                  },
                  "Não pode haver empréstimos pendentes no ticket": {
                    "value": {
                      "error_code": 42206,
                      "message": "The ticket cannot be closed as it does not meet the required conditions",
                      "detail": {
                        "equipment_loans": [
                          "Can't cancel ticket with active equipment loans"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/tickets/{ticket_number}/reopen": {
      "put": {
        "summary": "Reabrir ticket",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket que será reaberto",
            "examples": {
              "1": {
                "value": 37
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Reabre um determinado ticket.\n- Só é possível reabrir um ticket que **não esteja faturado**.\n- Se você deseja reabrir um ticket pendente de revisão, o ticket será reaberto por **reprovação**. Sendo assim, é necessário informar o motivo da reprovação no atributo `disapproval_reason`.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre: Para tickets pendentes de revisão pelo usuário"
          },
          {
            "color": "red",
            "label": "Revisar e avaliar tickets fechados"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "operationId": "put_tickets_ticket_number_reopen",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "message": "Ticket 43 reopened successfully"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Não foi possível reabrir o ticket devido ao não cumprimento de critérios necessários**\nPara reabrir um ticket, é necessário atender a determinados requisitos definidos pelas regras de negócio do sistema. Os critérios que precisam ser cumpridos estão detalhados no atributo `detail` dessa resposta.",
            "content": {
              "application/json": {
                "examples": {
                  "Não pode reabrir um ticket aberto": {
                    "value": {
                      "error_code": 42207,
                      "message": "The ticket cannot be reopened as it does not meet the required conditions",
                      "detail": {
                        "error": [
                          "Unable to reopen. Ticket is already open"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "disapproval_reason": {
                    "type": "string",
                    "description": "Motivo da reprovação"
                  }
                }
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "disapproval_reason": "Este ticket está sendo reprovado, pois não cumpriu o previsto."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tickets/{ticket_number}/entities": {
      "put": {
        "summary": "Atualizar campos personalizados do ticket",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket",
            "examples": {
              "1": {
                "value": 1
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Esta rota permite atualizar os valores de campos personalizados associados a um ticket específico.\n\n- Para consultar quais campos personalizados estão disponíveis para o ticket em questão, utilize o método [Exibir ticket](#get-/tickets/-ticket_number-)\n\n- Se você deseja atualizar o valor de um campo personalizado em um **ticket que esteja fechado**, é necessário ter a permissão <span style=\"margin:1px; padding:1px 8px; font-weight:bold; border-radius:12px;  background-color: var(--light-red, var(--input-bg)); color:var(--red); border:1px solid var(--red)\"><!--?lit$8458964218$-->Editar tickets fechados</span>\n### **Descrição dos valores aceitos**\nO formato do valor do campo (`value`) deve ser compatível com o tipo de campo personalizado (`entity_field_id`) que está sendo atualizado. Consulte a tabela abaixo para obter exemplos de valores válidos para cada tipo de campo:\nTipo de campo | Descrição | Exemplos\n--- | --- | ---\ntext | Aceita qualquer valor de string | `\"Meu texto\"`\ntext_area | Aceita qualquer valor de string | `\"Meu texto de exemplo\"`\ncurrency | Aceita uma string de números float utilizando o ponto como separador decimal e sem agrupador de milhares | `\"1200.55\"`,`\"15\"`\nphone | Aceita uma string de números inteiros, representando o número de telefone sem o código do país (DDI). Por padrão, o sistema vai tentar validar esse telefone como um número brasileiro. Se você deseja inserir um número de outro país, será necessário utilizar o atributo `country_code` junto no corpo da sua requisição | `\"47999999999\"`\nemail | Aceita uma string com o e-mail | `\"suporte@tiflux.com\"`\nlink | Aceita uma string contendo o endereço do link. O link deve começar com http, https ou ftp, para ser considerado como válido | `\"https://guia-de-uso.tiflux.com/\"`\ndate | Aceita uma string contendo a data. Serão aceitas datas em vários formatos (inclusive com horas). Porém, o valor será gravado em banco da seguinte forma: \"YYYY-MM-DD\", sendo assim, recomendamos que você informe a data nesse padrão também | `\"2025-05-28\"`\nsingle_select | Aceita uma string contendo um número inteiro com o ID da nova opção que foi escolhida | `\"777\"`, `\"52\"`\ncheckbox | Aceita uma string contendo um valor booleano representando se você deseja marcar o checkbox (\"true\") ou desmarcá-lo (\"false\") | `\"true\"`, `\"false\"`\n\n- **Observação:** Se você deseja apagar/limpar o valor de um campo personalizado que não é obrigatório, basta informar o atributo value como null: `\"value\": null`",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "put_tickets_ticket_number_entities",
        "responses": {
          "200": {
            "description": "### **Campos personalizados atualizados com sucesso**\nO corpo da resposta dessa requisição será um objeto `entities`, contendo todos os campos personalizados do ticket após a atualização",
            "content": {
              "application/json": {
                "example": {
                  "entities": [
                    {
                      "id": 15,
                      "active": true,
                      "applied_in": "ticket",
                      "description": "Campo personalizado de menu",
                      "entity_fields": [
                        {
                          "id": 61,
                          "entity_field_id": 72,
                          "entity_id": 15,
                          "field_type": "text",
                          "name": "Campo de texto no ticket",
                          "options": [

                          ],
                          "required": false,
                          "value": "Novo texto da entidade"
                        },
                        {
                          "id": 62,
                          "entity_field_id": 73,
                          "entity_id": 15,
                          "field_type": "text_area",
                          "name": "Campo de área de texto no ticket",
                          "options": [

                          ],
                          "required": false,
                          "value": "Novo texto do campo de área de texto"
                        },
                        {
                          "id": 63,
                          "entity_field_id": 74,
                          "entity_id": 15,
                          "field_type": "email",
                          "name": "Campo de email no ticket",
                          "options": [

                          ],
                          "required": false,
                          "value": "shayne@schamberger-heathcote.test"
                        },
                        {
                          "id": 64,
                          "entity_field_id": 75,
                          "entity_id": 15,
                          "field_type": "currency",
                          "name": "Campo de moeda no ticket",
                          "options": [

                          ],
                          "required": false,
                          "value": "150.55"
                        },
                        {
                          "id": 65,
                          "entity_field_id": 76,
                          "entity_id": 15,
                          "field_type": "phone",
                          "name": "Campo de telefone no ticket",
                          "options": [

                          ],
                          "required": false,
                          "value": "+5547999999999"
                        },
                        {
                          "id": 66,
                          "entity_field_id": 77,
                          "entity_id": 15,
                          "field_type": "date",
                          "name": "Campo de data no ticket",
                          "options": [

                          ],
                          "required": false,
                          "value": "2024-06-28"
                        },
                        {
                          "id": 67,
                          "entity_field_id": 78,
                          "entity_id": 15,
                          "field_type": "link",
                          "name": "Campo de link no ticket",
                          "options": [

                          ],
                          "required": false,
                          "value": "https://app.tiflux.com/v/"
                        },
                        {
                          "id": 68,
                          "entity_field_id": 79,
                          "entity_id": 15,
                          "field_type": "single_select",
                          "name": "Campo de Seleção única no ticket",
                          "options": [
                            {
                              "id": 68,
                              "entity_field_id": 79,
                              "entity_field_option_id": 46,
                              "title": "Opção 2",
                              "value": "46"
                            }
                          ],
                          "required": false,
                          "value": "Opção 2"
                        },
                        {
                          "id": null,
                          "entity_field_id": 80,
                          "entity_id": 15,
                          "field_type": "checkbox",
                          "name": "Campo de Checkbox",
                          "options": [
                            {
                              "id": 70,
                              "entity_field_id": 80,
                              "entity_field_option_id": 47,
                              "title": "Check 1",
                              "value": "true"
                            },
                            {
                              "id": 76,
                              "entity_field_id": 80,
                              "entity_field_option_id": 48,
                              "title": "Check 2",
                              "value": "true"
                            },
                            {
                              "id": 69,
                              "entity_field_id": 80,
                              "entity_field_option_id": 49,
                              "title": "Check 3",
                              "value": "true"
                            }
                          ],
                          "required": false,
                          "value": "Check 3, Check 2, Check 1"
                        }
                      ],
                      "menu_item": true,
                      "name": "Teste"
                    },
                    {
                      "id": 16,
                      "active": true,
                      "applied_in": "ticket",
                      "description": "Campo personalizado de menu",
                      "entity_fields": [
                        {
                          "id": null,
                          "entity_field_id": 81,
                          "entity_id": 16,
                          "field_type": "checkbox",
                          "name": "Campo de Checkbox",
                          "options": [

                          ],
                          "required": true,
                          "value": null
                        }
                      ],
                      "menu_item": true,
                      "name": "Teste de checkbox obrigatório"
                    }
                  ]
                }
              }
            }
          },
          "207": {
            "description": "### **Sucesso Parcial na Atualização de Campos Personalizados**\nEste código de resposta indica que a requisição para atualizar campos personalizados foi **parcialmente bem-sucedida**. Ou seja, alguns dos campos podem ter sido atualizados com sucesso, enquanto outros apresentaram falhas e não foram atualizados.\n\nPara os campos que apresentaram falhas na atualização, o motivo do erro está detalhado no atributo `detail`. Se um campo não constar na listagem de erros, significa que ele foi atualizado com sucesso.",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 20701,
                  "message": "Your request was partially successful. Some entity values were updated successfully, but others had errors",
                  "detail": {
                    "entities": [
                      "The property '#/0/entity_field_id': Couldn't find EntityField with id=0 applied in ServiceDesk::Ticket. The entity may be inactive or not exist",
                      "The property '#/1/value' of type integer did not match one or more of the following types: string, null in schema 34337688-21eb-563d-8c1e-79a0682d932b",
                      "The property '#/2/entity_field_option_id': Cannot send EntityFieldOption in a field_type currency",
                      "The property '#/3/value': Is not a valid phone number",
                      "The property '#/4/value': Is not a valid email",
                      "The property '#/5/value': Is not a valid link",
                      "The property '#/6/value': Is not a valid date",
                      "The property '#/7/value': Option id=0 is not a valid option in EntityField (id=79)"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com os parâmetros informados**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42202,
                  "message": "Problems with body attributes values",
                  "detail": {
                    "entities": [
                      "Cannot update more than 50 entities values per request"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Parâmetro inválido encontrado**\nVocê informou algum atributo inválido ou fora do padrão dessa requisição. Confira os exemplos e o schema, para garantir que o corpo da sua requisição esteja no formato correto",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40001,
                  "message": "Unknown parameters",
                  "detail": {
                    "error": [
                      "found unpermitted parameter: :name"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "401": {
            "description": "### **Problemas com o token de autenticação**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40101,
                  "message": "Problems with Authorization",
                  "detail": {
                    "error": [
                      "You need to sign in before continuing."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Editar tickets"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/entities"
              },
              "examples": {
                "Text field": {
                  "summary": "Text field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 72,
                        "value": "Novo texto do campo tipo texto"
                      }
                    ]
                  }
                },
                "Text_area field": {
                  "summary": "Text_area field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 73,
                        "value": "Novo texto do campo de área de texto"
                      }
                    ]
                  }
                },
                "Currency field": {
                  "summary": "Currency field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 75,
                        "value": "150.55"
                      }
                    ]
                  }
                },
                "Phone field": {
                  "summary": "Phone field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 76,
                        "value": "47999999999",
                        "country_code": "BR"
                      }
                    ]
                  }
                },
                "Email field": {
                  "summary": "Email field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 74,
                        "value": "new_mail@to.entity.com"
                      }
                    ]
                  }
                },
                "Link field": {
                  "summary": "Link field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 78,
                        "value": "https://app.tiflux.com/v/"
                      }
                    ]
                  }
                },
                "Date field": {
                  "summary": "Date field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 77,
                        "value": "2024-06-28"
                      }
                    ]
                  }
                },
                "Single_select field": {
                  "summary": "Single_select field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 79,
                        "value": "46"
                      }
                    ]
                  }
                },
                "Checkbox field": {
                  "summary": "Checkbox field",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 80,
                        "entity_field_option_id": 47,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 80,
                        "entity_field_option_id": 48,
                        "value": "false"
                      },
                      {
                        "entity_field_id": 80,
                        "entity_field_option_id": 49,
                        "value": "false"
                      }
                    ]
                  }
                },
                "Update all entity values": {
                  "summary": "Update all entity values",
                  "value": {
                    "entities": [
                      {
                        "entity_field_id": 72,
                        "value": "Novo texto da entidade"
                      },
                      {
                        "entity_field_id": 73,
                        "value": "Novo texto do campo de área de texto"
                      },
                      {
                        "entity_field_id": 75,
                        "value": "150.55"
                      },
                      {
                        "entity_field_id": 76,
                        "value": "47999999999",
                        "country_code": "BR"
                      },
                      {
                        "entity_field_id": 74,
                        "value": "shayne@schamberger-heathcote.test"
                      },
                      {
                        "entity_field_id": 78,
                        "value": "https://app.tiflux.com/v/"
                      },
                      {
                        "entity_field_id": 77,
                        "value": "2024-06-28"
                      },
                      {
                        "entity_field_id": 79,
                        "value": "46"
                      },
                      {
                        "entity_field_id": 80,
                        "entity_field_option_id": 47,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 80,
                        "entity_field_option_id": 48,
                        "value": "true"
                      },
                      {
                        "entity_field_id": 80,
                        "entity_field_option_id": 49,
                        "value": "true"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "description": "Este schema define a estrutura de dados para atualização de campos personalizados de um ticket. Ele é composto por um array de objetos, onde cada objeto representa um campo personalizado a ser atualizado.\n - É possível atualizar até 50 valores de campos personalizados por requisição."
        }
      }
    },
    "/tickets/{ticket_number}/histories": {
      "get": {
        "summary": "Listar histórico do ticket",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket que será exibido",
            "examples": {
              "1": {
                "value": 32
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "history_of",
            "in": "query",
            "description": "Filtrar histórico pela área do ticket. Você deve informar o número referente a área",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            },
            "examples": {
              "0": {
                "value": 0,
                "summary": "Estágio"
              },
              "1": {
                "value": 1,
                "summary": "Apontamentos"
              }
            },
            "required": true
          },
          {
            "name": "type_id_attr",
            "in": "query",
            "description": "Campo de identificação entre os registros e as alterações feitas no histórico (ex: ID do apontamento quando history_of=1)",
            "schema": {
              "type": "integer"
            },
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": 922480,
                "summary": "ID do apontamento"
              }
            },
            "required": false
          },
          {
            "name": "operation",
            "in": "query",
            "description": "Filtro opcional para operações realizadas no histórico. Por padrão (vazio) retorna todas as operações.\n\n**Observação**: Esse parâmetro só será considerado quando o history_of for 1 (apontamentos).",
            "examples": {
              "Todos": {
                "value": ""
              },
              "Criados": {
                "value": "created",
                "summary": "Listar apenas o histórico de criação de apontamentos"
              },
              "Atualizados": {
                "value": "updated",
                "summary": "Listar apenas o histórico de apontamentos atualizados"
              },
              "Apagados": {
                "value": "deleted",
                "summary": "Listar apenas o histórico de apontamentos apagados"
              }
            },
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "updated",
                "deleted"
              ]
            },
            "required": false
          }
        ],
        "description": "Consulta detalhada do histórico de um determinado ticket.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_histories",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 63,
                    "_created_at": "2026-04-28T21:28:51Z",
                    "_operation": "updated",
                    "_type": "ticket",
                    "_type_id_attr": 18,
                    "action": "Ticket was updated",
                    "action_details": {
                    },
                    "changes": {
                      "fields": [
                        "stage_name"
                      ],
                      "new_values": {
                        "stage_name": "N2",
                        "changed_stage_at": "2026-04-28T21:28:51Z"
                      },
                      "old_values": {
                        "stage_name": "N1",
                        "changed_stage_at": "2026-04-28T21:08:51Z"
                      }
                    },
                    "user": {
                      "id": 1,
                      "name": "Nancy Botsford DO",
                      "email": "api_user@example.test"
                    }
                  },
                  {
                    "id": 61,
                    "_created_at": "2026-04-28T21:08:51Z",
                    "_operation": "updated",
                    "_type": "ticket",
                    "_type_id_attr": 18,
                    "action": "Attendance Started",
                    "action_details": {
                    },
                    "changes": {
                      "fields": [
                        "stage_name",
                        "changed_first_stage_at"
                      ],
                      "new_values": {
                        "stage_name": "N1",
                        "changed_stage_at": "2026-04-28T21:08:51Z",
                        "changed_first_stage_at": "2026-04-28T21:08:51Z"
                      },
                      "old_values": {
                        "stage_name": "Pending",
                        "changed_stage_at": null,
                        "changed_first_stage_at": null
                      }
                    },
                    "user": {
                      "id": 1,
                      "name": "Nancy Botsford DO",
                      "email": "api_user@example.test"
                    }
                  }
                ],
                "schema": {
                  "type": "array",
                  "description": "Lista de registros de histórico do ticket",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador (ID) do histórico do ticket"
                      },
                      "_created_at": {
                        "type": "string",
                        "description": "Data e hora em que o histórico foi criado"
                      },
                      "_operation": {
                        "type": "string",
                        "enum": [
                          "created",
                          "updated",
                          "deleted"
                        ],
                        "description": "Operação que originou o histórico (criação, atualização ou remoção)"
                      },
                      "_type": {
                        "type": "string",
                        "description": "Categoria ou área do ticket em que a mudança ocorreu"
                      },
                      "_type_id_attr": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Campo de identificação entre os registros e as alterações feitas no histórico (ex: ID do apontamento)"
                      },
                      "action": {
                        "type": "string",
                        "description": "Descrição resumida da ação registrada no histórico"
                      },
                      "action_details": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Detalhamento adicional sobre a ação realizada, com chaves dinâmicas"
                      },
                      "changes": {
                        "type": "object",
                        "description": "Conjunto de alterações realizadas durante a ação",
                        "properties": {
                          "fields": {
                            "type": "array",
                            "description": "Lista de nomes dos campos que foram alterados",
                            "items": {
                              "type": "string"
                            }
                          },
                          "new_values": {
                            "type": "object",
                            "description": "Novos valores dos campos modificados",
                            "additionalProperties": {
                              "type": "string",
                              "nullable": true
                            }
                          },
                          "old_values": {
                            "type": "object",
                            "description": "Valores antigos dos campos, antes da modificação",
                            "additionalProperties": {
                              "type": "string",
                              "nullable": true
                            }
                          }
                        },
                        "required": [
                          "fields",
                          "new_values",
                          "old_values"
                        ]
                      },
                      "user": {
                        "type": "object",
                        "description": "Usuário responsável pela ação registrada no histórico (pode ser nulo para ações automáticas)",
                        "nullable": true,
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do usuário que realizou a ação"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do usuário que realizou a ação"
                          },
                          "email": {
                            "type": "string",
                            "description": "E-mail do usuário que realizou a ação"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "email"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "_created_at",
                      "_operation",
                      "_type",
                      "action",
                      "action_details",
                      "changes",
                      "user"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 9999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum valor de atributo informado**",
            "content": {
              "application/json": {
                "examples": {
                  "Faltou informar parâmetros obrigatórios": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "history_of": [
                          "can't be blank",
                          "is not a number"
                        ]
                      }
                    }
                  },
                  "Ticket informado deve ser um número maior que 0": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "ticket_ticket_number": [
                          "must be greater than 0"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Visualizar tickets em que eu não sou o responsável"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/tickets/{ticket_number}/stages-slas": {
      "get": {
        "summary": "Listar durações por estágios do ticket",
        "tags": [
          "Tickets"
        ],
        "parameters": [
          {
            "name": "ticket_number",
            "in": "path",
            "description": "Número do ticket que será exibido",
            "examples": {
              "1": {
                "value": 32
              }
            },
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          }
        ],
        "description": "Retorna o histórico completo de passagem de um determinado ticket, por cada um de seus estágios.\n\n**Observação**: Somente tickets pertencentes a mesas com SLA ativo possuem dados de duração e são exibidos nesta consulta.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_tickets_ticket_number_stages-slas",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": 22,
                    "attended_at": null,
                    "attended_by": null,
                    "created_at": "2026-04-28T21:28:51Z",
                    "created_by": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    },
                    "desk": {
                      "id": 25,
                      "name": "API"
                    },
                    "duration_in_expedient": "00:00",
                    "expiration": "2026-04-29T09:00:00Z",
                    "sla_attended": false,
                    "stage": {
                      "id": 79,
                      "name": "N2"
                    }
                  },
                  {
                    "id": 21,
                    "attended_at": "2026-04-28T21:28:51Z",
                    "attended_by": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    },
                    "created_at": "2026-04-28T20:58:51Z",
                    "created_by": {
                      "id": 1,
                      "name": "Nancy Botsford DO"
                    },
                    "desk": {
                      "id": 25,
                      "name": "API"
                    },
                    "duration_in_expedient": "00:00",
                    "expiration": "2026-04-29T12:00:00Z",
                    "sla_attended": true,
                    "stage": {
                      "id": 76,
                      "name": "Pending"
                    }
                  }
                ],
                "schema": {
                  "type": "array",
                  "description": "Lista de registros representando cada passagem do ticket por um estágio",
                  "items": {
                    "type": "object",
                    "description": "Informações detalhadas sobre a permanência do ticket em um estágio específico",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Identificador do registro de passagem do ticket pelo estágio"
                      },
                      "attended_at": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data e hora em que o ticket foi atendido neste estágio (ou null se ainda não atendido)"
                      },
                      "attended_by": {
                        "type": "object",
                        "nullable": true,
                        "description": "Usuário que realizou o atendimento do ticket no estágio",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do usuário"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do usuário"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "created_at": {
                        "type": "string",
                        "description": "Data e hora em que o ticket entrou neste estágio"
                      },
                      "created_by": {
                        "type": "object",
                        "nullable": true,
                        "description": "Usuário que movimentou o ticket para este estágio",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do usuário"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do usuário"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "desk": {
                        "type": "object",
                        "description": "Mesa em que o ticket estava durante o atendimento",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID da mesa"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome da mesa"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      },
                      "duration_in_expedient": {
                        "type": "string",
                        "description": "Tempo total (HH:MM) que o ticket permaneceu neste estágio durante horário de expediente"
                      },
                      "expiration": {
                        "type": "string",
                        "description": "Data e hora limite do SLA para este estágio"
                      },
                      "sla_attended": {
                        "type": "boolean",
                        "description": "Indica se o SLA foi atendido no estágio (true/false)"
                      },
                      "stage": {
                        "type": "object",
                        "description": "Estágio correspondente ao registro",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "ID do estágio"
                          },
                          "name": {
                            "type": "string",
                            "description": "Nome do estágio"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "attended_at",
                      "attended_by",
                      "created_at",
                      "created_by",
                      "desk",
                      "duration_in_expedient",
                      "expiration",
                      "sla_attended",
                      "stage"
                    ]
                  }
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\n\nEssa resposta significa que o seu usuário está autenticado corretamente, porém, não possui a permissão ou licença necessária para acessar essa rota",
            "content": {
              "application/json": {
                "examples": {
                  "Sem permissão necessária": {
                    "description": "### **Como corrigir o erro `40301`?**\nEsse erro indica que o grupo de permissões do seu usuário não possui acesso a esta rota.\n\nPara corrigir, verifique no topo desta página quais são as permissões necessárias e solicite ao administrador do seu sistema que as conceda.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You are not authorized to access this page."
                        ]
                      }
                    }
                  },
                  "Sem licença de tickets": {
                    "description": "### **Como corrigir o erro `40304`?**\nEsse erro indica que o seu usuário não possui a **licença necessária** para acessar esta rota.\n\nPara corrigir, solicite ao administrador do seu sistema que habilite a **licença de Tickets** para o seu usuário. Alternativamente, usuários com permissão para gerenciar outros usuários também podem habilitar esta licença.\n\n### **Exemplo de resposta de erro:**",
                    "value": {
                      "error_code": 40304,
                      "message": "Access Denied - Missing required license",
                      "detail": {
                        "error": [
                          "You do not have the required 'tickets' license to access this route"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "404": {
            "description": "### **Ticket não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find ServiceDesk::Ticket with ticket_number = 9999"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com algum valor de atributo informado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 42201,
                  "message": "Problems with query or path parameters values",
                  "detail": {
                    "ticket_number": [
                      "must be greater than 0"
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Visualizar e abrir tickets"
          },
          {
            "color": "red",
            "label": "Visualizar tickets em que eu não sou o responsável"
          },
          {
            "color": "orange",
            "label": "Licença Tickets"
          }
        ]
      }
    },
    "/users": {
      "get": {
        "summary": "Listar usuários",
        "tags": [
          "Usuários"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1
            },
            "description": "Número da página a ser retornada",
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 200
            },
            "description": "Número de itens retornados na página",
            "required": false
          },
          {
            "name": "active",
            "in": "query",
            "description": "Filtrar a busca por usuários ativos ou inativos",
            "examples": {
              "0": {
                "value": ""
              },
              "Ativos": {
                "value": true
              },
              "Inativos": {
                "value": false
              }
            },
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "gauth_enabled",
            "in": "query",
            "description": "Filtrar a busca por usuários que possuem autenticação de 2 fatores ativa ou inativa",
            "examples": {
              "0": {
                "value": ""
              },
              "Ativa": {
                "value": true
              },
              "Inativa": {
                "value": false
              }
            },
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Filtrar a busca por tipo de usuário: administrador, cliente ou técnico",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "client",
                "attendant",
                "admin"
              ]
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Filtra a busca por usuários cujo e-mail contém o valor informado",
            "examples": {
              "0": {
                "value": ""
              },
              "Início do e-mail": {
                "value": "supor",
                "description": "Retorna usuários com e-mails como: '**supor**te@​tiflux.com' ou 'user@**supor**te.com'"
              },
              "Final do e-mail": {
                "value": "@tiflux.com",
                "description": "Retorna todos os usuários com e-mails do domínio **tiflux.com**"
              }
            },
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filtra a busca por usuários cujo nome contém o valor informado",
            "examples": {
              "0": {
                "value": ""
              },
              "1": {
                "value": "lucas",
                "description": "Retorna usuários como: '**Lucas** Lima' ou 'João **Lucas**'"
              },
              "2": {
                "value": "luc",
                "description": "Retorna usuários com nomes que contenham 'luc', como: '**Luc**as', '**Luc**iana' ou 'Fe**luc**io'"
              }
            },
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "description": "Lista os usuários que existem na sua organização.",
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "operationId": "get_users",
        "responses": {
          "200": {
            "description": "",
            "headers": {
              "X-Total-Items": {
                "schema": {
                  "type": "integer"
                },
                "description": "O número total de itens que podem ser retornados nessa requisição"
              }
            },
            "content": {
              "application/json": {
                "examples": {
                  "Lista todos usuários": {
                    "value": [
                      {
                        "id": 1,
                        "_type": "admin",
                        "active": true,
                        "email": "api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": "2026-04-28T21:29:10Z",
                        "name": "Nancy Botsford DO",
                        "technical_group_id": 1
                      },
                      {
                        "id": 7,
                        "_type": null,
                        "active": true,
                        "email": "loyce.bauch@daniel.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Loyce Bauch",
                        "technical_group_id": null
                      },
                      {
                        "id": 94,
                        "_type": "attendant",
                        "active": true,
                        "email": "hodkiewicz_berna@kassulke-lubowitz.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Berna Hodkiewicz",
                        "technical_group_id": 96
                      },
                      {
                        "id": 97,
                        "_type": "attendant",
                        "active": true,
                        "email": "spencer_hermila@price-turner.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Hermila Spencer",
                        "technical_group_id": 100
                      },
                      {
                        "id": 109,
                        "_type": "attendant",
                        "active": true,
                        "email": "grimes_argelia@reichert.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Argelia Grimes",
                        "technical_group_id": 113
                      },
                      {
                        "id": 110,
                        "_type": "attendant",
                        "active": true,
                        "email": "wolf.avelina@blick-krajcik.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Avelina Wolf",
                        "technical_group_id": 114
                      },
                      {
                        "id": 111,
                        "_type": "attendant",
                        "active": true,
                        "email": "marietta.dr.stracke@hegmann.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Dr. Marietta Stracke",
                        "technical_group_id": 115
                      },
                      {
                        "id": 118,
                        "_type": "attendant",
                        "active": true,
                        "email": "iii_borer_aliza@kassulke.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Aliza Borer III",
                        "technical_group_id": 124
                      },
                      {
                        "id": 128,
                        "_type": "admin",
                        "active": true,
                        "email": "new_api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Juan Schultz DVM",
                        "technical_group_id": 1
                      },
                      {
                        "id": 156,
                        "_type": "attendant",
                        "active": true,
                        "email": "lakin.corine@morar-rippin.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Corine Lakin",
                        "technical_group_id": 159
                      },
                      {
                        "id": 157,
                        "_type": "attendant",
                        "active": true,
                        "email": "wiegand.galen@johns.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Galen Wiegand",
                        "technical_group_id": 159
                      },
                      {
                        "id": 158,
                        "_type": "attendant",
                        "active": true,
                        "email": "aaron_bernier@langosh.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Aaron Bernier",
                        "technical_group_id": 159
                      },
                      {
                        "id": 191,
                        "_type": "attendant",
                        "active": true,
                        "email": "emmerich_shalonda@waters.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Shalonda Emmerich",
                        "technical_group_id": 194
                      },
                      {
                        "id": 196,
                        "_type": "attendant",
                        "active": true,
                        "email": "moore.maye@gleason.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Maye Moore",
                        "technical_group_id": 199
                      },
                      {
                        "id": 201,
                        "_type": "admin",
                        "active": true,
                        "email": "new_api_user@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Queen Hettinger",
                        "technical_group_id": 1
                      },
                      {
                        "id": 202,
                        "_type": "attendant",
                        "active": true,
                        "email": "minna.russel@greenfelder-predovic.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Minna Russel",
                        "technical_group_id": 205
                      },
                      {
                        "id": 203,
                        "_type": "client",
                        "active": true,
                        "email": "albert_streich@bradtke.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Albert Streich",
                        "technical_group_id": null
                      },
                      {
                        "id": 204,
                        "_type": "attendant",
                        "active": true,
                        "email": "user_with_all_licenses@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Ms. Issac Pacocha",
                        "technical_group_id": 206
                      },
                      {
                        "id": 205,
                        "_type": "attendant",
                        "active": true,
                        "email": "user_with_only_tickets_licenses@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Dwain Kuphal",
                        "technical_group_id": 207
                      },
                      {
                        "id": 206,
                        "_type": "client",
                        "active": false,
                        "email": "predovic_lily_iv@leffler.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Lily Predovic IV",
                        "technical_group_id": null
                      }
                    ]
                  },
                  "Lista todos usuários ativos": {
                    "value": [
                      {
                        "id": 1,
                        "_type": "admin",
                        "active": true,
                        "email": "api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": "2026-04-28T21:29:10Z",
                        "name": "Nancy Botsford DO",
                        "technical_group_id": 1
                      },
                      {
                        "id": 7,
                        "_type": null,
                        "active": true,
                        "email": "loyce.bauch@daniel.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Loyce Bauch",
                        "technical_group_id": null
                      },
                      {
                        "id": 94,
                        "_type": "attendant",
                        "active": true,
                        "email": "hodkiewicz_berna@kassulke-lubowitz.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Berna Hodkiewicz",
                        "technical_group_id": 96
                      },
                      {
                        "id": 97,
                        "_type": "attendant",
                        "active": true,
                        "email": "spencer_hermila@price-turner.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Hermila Spencer",
                        "technical_group_id": 100
                      },
                      {
                        "id": 109,
                        "_type": "attendant",
                        "active": true,
                        "email": "grimes_argelia@reichert.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Argelia Grimes",
                        "technical_group_id": 113
                      },
                      {
                        "id": 110,
                        "_type": "attendant",
                        "active": true,
                        "email": "wolf.avelina@blick-krajcik.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Avelina Wolf",
                        "technical_group_id": 114
                      },
                      {
                        "id": 111,
                        "_type": "attendant",
                        "active": true,
                        "email": "marietta.dr.stracke@hegmann.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Dr. Marietta Stracke",
                        "technical_group_id": 115
                      },
                      {
                        "id": 118,
                        "_type": "attendant",
                        "active": true,
                        "email": "iii_borer_aliza@kassulke.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Aliza Borer III",
                        "technical_group_id": 124
                      },
                      {
                        "id": 128,
                        "_type": "admin",
                        "active": true,
                        "email": "new_api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Juan Schultz DVM",
                        "technical_group_id": 1
                      },
                      {
                        "id": 156,
                        "_type": "attendant",
                        "active": true,
                        "email": "lakin.corine@morar-rippin.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Corine Lakin",
                        "technical_group_id": 159
                      },
                      {
                        "id": 157,
                        "_type": "attendant",
                        "active": true,
                        "email": "wiegand.galen@johns.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Galen Wiegand",
                        "technical_group_id": 159
                      },
                      {
                        "id": 158,
                        "_type": "attendant",
                        "active": true,
                        "email": "aaron_bernier@langosh.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Aaron Bernier",
                        "technical_group_id": 159
                      },
                      {
                        "id": 191,
                        "_type": "attendant",
                        "active": true,
                        "email": "emmerich_shalonda@waters.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Shalonda Emmerich",
                        "technical_group_id": 194
                      },
                      {
                        "id": 196,
                        "_type": "attendant",
                        "active": true,
                        "email": "moore.maye@gleason.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Maye Moore",
                        "technical_group_id": 199
                      },
                      {
                        "id": 201,
                        "_type": "admin",
                        "active": true,
                        "email": "new_api_user@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Queen Hettinger",
                        "technical_group_id": 1
                      },
                      {
                        "id": 202,
                        "_type": "attendant",
                        "active": true,
                        "email": "minna.russel@greenfelder-predovic.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Minna Russel",
                        "technical_group_id": 205
                      },
                      {
                        "id": 203,
                        "_type": "client",
                        "active": true,
                        "email": "albert_streich@bradtke.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Albert Streich",
                        "technical_group_id": null
                      },
                      {
                        "id": 204,
                        "_type": "attendant",
                        "active": true,
                        "email": "user_with_all_licenses@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Ms. Issac Pacocha",
                        "technical_group_id": 206
                      },
                      {
                        "id": 205,
                        "_type": "attendant",
                        "active": true,
                        "email": "user_with_only_tickets_licenses@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Dwain Kuphal",
                        "technical_group_id": 207
                      },
                      {
                        "id": 207,
                        "_type": "attendant",
                        "active": true,
                        "email": "attendant@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Andre Cassin",
                        "technical_group_id": 204
                      }
                    ]
                  },
                  "Lista todos usuários inativos": {
                    "value": [
                      {
                        "id": 206,
                        "_type": "client",
                        "active": false,
                        "email": "predovic_lily_iv@leffler.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Lily Predovic IV",
                        "technical_group_id": null
                      }
                    ]
                  },
                  "Lista todos usuários que possuem autenticação de 2 fatores inativa": {
                    "value": [
                      {
                        "id": 1,
                        "_type": "admin",
                        "active": true,
                        "email": "api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": "2026-04-28T21:29:10Z",
                        "name": "Nancy Botsford DO",
                        "technical_group_id": 1
                      },
                      {
                        "id": 7,
                        "_type": null,
                        "active": true,
                        "email": "loyce.bauch@daniel.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Loyce Bauch",
                        "technical_group_id": null
                      },
                      {
                        "id": 94,
                        "_type": "attendant",
                        "active": true,
                        "email": "hodkiewicz_berna@kassulke-lubowitz.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Berna Hodkiewicz",
                        "technical_group_id": 96
                      },
                      {
                        "id": 97,
                        "_type": "attendant",
                        "active": true,
                        "email": "spencer_hermila@price-turner.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Hermila Spencer",
                        "technical_group_id": 100
                      },
                      {
                        "id": 109,
                        "_type": "attendant",
                        "active": true,
                        "email": "grimes_argelia@reichert.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Argelia Grimes",
                        "technical_group_id": 113
                      },
                      {
                        "id": 110,
                        "_type": "attendant",
                        "active": true,
                        "email": "wolf.avelina@blick-krajcik.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Avelina Wolf",
                        "technical_group_id": 114
                      },
                      {
                        "id": 111,
                        "_type": "attendant",
                        "active": true,
                        "email": "marietta.dr.stracke@hegmann.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Dr. Marietta Stracke",
                        "technical_group_id": 115
                      },
                      {
                        "id": 118,
                        "_type": "attendant",
                        "active": true,
                        "email": "iii_borer_aliza@kassulke.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Aliza Borer III",
                        "technical_group_id": 124
                      },
                      {
                        "id": 128,
                        "_type": "admin",
                        "active": true,
                        "email": "new_api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Juan Schultz DVM",
                        "technical_group_id": 1
                      },
                      {
                        "id": 156,
                        "_type": "attendant",
                        "active": true,
                        "email": "lakin.corine@morar-rippin.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Corine Lakin",
                        "technical_group_id": 159
                      },
                      {
                        "id": 157,
                        "_type": "attendant",
                        "active": true,
                        "email": "wiegand.galen@johns.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Galen Wiegand",
                        "technical_group_id": 159
                      },
                      {
                        "id": 158,
                        "_type": "attendant",
                        "active": true,
                        "email": "aaron_bernier@langosh.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Aaron Bernier",
                        "technical_group_id": 159
                      },
                      {
                        "id": 191,
                        "_type": "attendant",
                        "active": true,
                        "email": "emmerich_shalonda@waters.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Shalonda Emmerich",
                        "technical_group_id": 194
                      },
                      {
                        "id": 196,
                        "_type": "attendant",
                        "active": true,
                        "email": "moore.maye@gleason.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Maye Moore",
                        "technical_group_id": 199
                      },
                      {
                        "id": 201,
                        "_type": "admin",
                        "active": true,
                        "email": "new_api_user@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Queen Hettinger",
                        "technical_group_id": 1
                      },
                      {
                        "id": 202,
                        "_type": "attendant",
                        "active": true,
                        "email": "minna.russel@greenfelder-predovic.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Minna Russel",
                        "technical_group_id": 205
                      },
                      {
                        "id": 203,
                        "_type": "client",
                        "active": true,
                        "email": "albert_streich@bradtke.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Albert Streich",
                        "technical_group_id": null
                      },
                      {
                        "id": 204,
                        "_type": "attendant",
                        "active": true,
                        "email": "user_with_all_licenses@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Ms. Issac Pacocha",
                        "technical_group_id": 206
                      },
                      {
                        "id": 205,
                        "_type": "attendant",
                        "active": true,
                        "email": "user_with_only_tickets_licenses@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Dwain Kuphal",
                        "technical_group_id": 207
                      },
                      {
                        "id": 206,
                        "_type": "client",
                        "active": false,
                        "email": "predovic_lily_iv@leffler.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Lily Predovic IV",
                        "technical_group_id": null
                      }
                    ]
                  },
                  "Lista todos usuários do tipo 'client'": {
                    "value": [
                      {
                        "id": 203,
                        "_type": "client",
                        "active": true,
                        "email": "albert_streich@bradtke.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Albert Streich",
                        "technical_group_id": null
                      },
                      {
                        "id": 206,
                        "_type": "client",
                        "active": false,
                        "email": "predovic_lily_iv@leffler.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Lily Predovic IV",
                        "technical_group_id": null
                      }
                    ]
                  },
                  "Lista todos usuários do tipo 'attendant'": {
                    "value": [
                      {
                        "id": 94,
                        "_type": "attendant",
                        "active": true,
                        "email": "hodkiewicz_berna@kassulke-lubowitz.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Berna Hodkiewicz",
                        "technical_group_id": 96
                      },
                      {
                        "id": 97,
                        "_type": "attendant",
                        "active": true,
                        "email": "spencer_hermila@price-turner.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Hermila Spencer",
                        "technical_group_id": 100
                      },
                      {
                        "id": 109,
                        "_type": "attendant",
                        "active": true,
                        "email": "grimes_argelia@reichert.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Argelia Grimes",
                        "technical_group_id": 113
                      },
                      {
                        "id": 110,
                        "_type": "attendant",
                        "active": true,
                        "email": "wolf.avelina@blick-krajcik.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Avelina Wolf",
                        "technical_group_id": 114
                      },
                      {
                        "id": 111,
                        "_type": "attendant",
                        "active": true,
                        "email": "marietta.dr.stracke@hegmann.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Dr. Marietta Stracke",
                        "technical_group_id": 115
                      },
                      {
                        "id": 118,
                        "_type": "attendant",
                        "active": true,
                        "email": "iii_borer_aliza@kassulke.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Aliza Borer III",
                        "technical_group_id": 124
                      },
                      {
                        "id": 156,
                        "_type": "attendant",
                        "active": true,
                        "email": "lakin.corine@morar-rippin.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Corine Lakin",
                        "technical_group_id": 159
                      },
                      {
                        "id": 157,
                        "_type": "attendant",
                        "active": true,
                        "email": "wiegand.galen@johns.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Galen Wiegand",
                        "technical_group_id": 159
                      },
                      {
                        "id": 158,
                        "_type": "attendant",
                        "active": true,
                        "email": "aaron_bernier@langosh.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Aaron Bernier",
                        "technical_group_id": 159
                      },
                      {
                        "id": 191,
                        "_type": "attendant",
                        "active": true,
                        "email": "emmerich_shalonda@waters.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Shalonda Emmerich",
                        "technical_group_id": 194
                      },
                      {
                        "id": 196,
                        "_type": "attendant",
                        "active": true,
                        "email": "moore.maye@gleason.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Maye Moore",
                        "technical_group_id": 199
                      },
                      {
                        "id": 202,
                        "_type": "attendant",
                        "active": true,
                        "email": "minna.russel@greenfelder-predovic.example",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Minna Russel",
                        "technical_group_id": 205
                      },
                      {
                        "id": 204,
                        "_type": "attendant",
                        "active": true,
                        "email": "user_with_all_licenses@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Ms. Issac Pacocha",
                        "technical_group_id": 206
                      },
                      {
                        "id": 205,
                        "_type": "attendant",
                        "active": true,
                        "email": "user_with_only_tickets_licenses@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Dwain Kuphal",
                        "technical_group_id": 207
                      },
                      {
                        "id": 207,
                        "_type": "attendant",
                        "active": true,
                        "email": "attendant@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Andre Cassin",
                        "technical_group_id": 204
                      },
                      {
                        "id": 208,
                        "_type": "attendant",
                        "active": true,
                        "email": "attendant2@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Jule Mitchell",
                        "technical_group_id": 204
                      }
                    ]
                  },
                  "Lista todos usuários do tipo 'admin'": {
                    "value": [
                      {
                        "id": 1,
                        "_type": "admin",
                        "active": true,
                        "email": "api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": "2026-04-28T21:29:10Z",
                        "name": "Nancy Botsford DO",
                        "technical_group_id": 1
                      },
                      {
                        "id": 128,
                        "_type": "admin",
                        "active": true,
                        "email": "new_api_user@example.test",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Juan Schultz DVM",
                        "technical_group_id": 1
                      },
                      {
                        "id": 201,
                        "_type": "admin",
                        "active": true,
                        "email": "new_api_user@example.com",
                        "gauth_enabled": false,
                        "last_login_at": null,
                        "name": "Queen Hettinger",
                        "technical_group_id": 1
                      }
                    ]
                  }
                },
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "ID do grupo de permissões"
                      },
                      "_type": {
                        "type": "string",
                        "description": "Tipo de usuário",
                        "enum": [
                          "client",
                          "attendant",
                          "admin"
                        ],
                        "nullable": true
                      },
                      "active": {
                        "type": "boolean",
                        "description": "O usuário está ativo?"
                      },
                      "email": {
                        "type": "string",
                        "format": "email",
                        "description": "E-mail do usuário"
                      },
                      "gauth_enabled": {
                        "type": "boolean",
                        "description": "O usuário possui autenticação de dois fatores habilitada?"
                      },
                      "last_login_at": {
                        "type": "string",
                        "nullable": true,
                        "description": "Data do último acesso do usuário"
                      },
                      "name": {
                        "type": "string",
                        "description": "Nome do usuário"
                      },
                      "technical_group_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "ID do grupo de atendentes do usuário"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "email",
                      "gauth_enabled",
                      "active"
                    ]
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Algo deu errado com os parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "gauth_enabled - Não pode ser um valor diferente de true e false": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "gauth_enabled": [
                          "teste is not a valid option. Gauth enabled must be 'true' or 'false'"
                        ]
                      }
                    }
                  },
                  "active - Não pode ser um valor diferente de true e false": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "active": [
                          "123 is not a valid option. Active must be 'true' or 'false'"
                        ]
                      }
                    }
                  },
                  "type - Não pode ser um valor diferente de 'client', 'attendant' e 'admin'": {
                    "value": {
                      "error_code": 42201,
                      "message": "Problems with query or path parameters values",
                      "detail": {
                        "type": [
                          "a is not a valid option. Type must be 'client', 'attendant' or 'admin'"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar usuários"
          }
        ]
      },
      "post": {
        "summary": "Criar usuário",
        "tags": [
          "Usuários"
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "parameters": [

        ],
        "description": "Cria um novo usuário dentro da sua organização e envia um convite por e-mail, para que ele complete o acesso.\n\nPara que o usuário seja criado com sucesso, é obrigatório que ele possua **ao menos uma licença ativa**, que deve ser atribuída durante a requisição de criação. Você deve indicar explicitamente uma das seguintes opções:\n* `tickets_license: true` - para atribuir a licença de Tickets\n* `whatsapp_license: true` - para atribuir a licença de whatsapp\n      \nCaso nenhuma dessas duas licenças seja informada, a criação será rejeitada.",
        "operationId": "post_users",
        "responses": {
          "201": {
            "description": "### **Usuário criado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "message": "User was successfully invited",
                  "user": {
                    "id": 210,
                    "name": "Nome do usuário",
                    "email": "my_mail@example.com",
                    "user_licenses": {
                      "whatsapp_license": true,
                      "tickets_license": true,
                      "splashtop_license": true,
                      "remote_access_license": true,
                      "api_license": true
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas na criação do usuário**",
            "content": {
              "application/json": {
                "examples": {
                  "Não preencheu nome e e-mail": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "name": [
                          "can't be blank"
                        ],
                        "email": [
                          "can't be blank"
                        ]
                      }
                    }
                  },
                  "Informou um grupo técnico que não existe": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "technical_group_id": [
                          "this technical group doesn't exists in your organization"
                        ],
                        "email": [
                          "is invalid"
                        ]
                      }
                    }
                  },
                  "Informou um e-mail que já está em uso": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "email": [
                          "has already been taken"
                        ]
                      }
                    }
                  },
                  "Informou e-mail em um formato inválido (não são aceitos e-mail que contenham as palavras teste, 123, estudante, blog e email": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "email": [
                          "Invalid email address. Email cannot contains the following words: 'teste', '123', 'estudante', 'blog' and 'email'"
                        ]
                      }
                    }
                  },
                  "Criação de usuário sem as licenças obrigatórias": {
                    "description": "### **Como corrigir esse erro?**\nEsse erro ocorre quando a tentativa de criar um usuário não informa **nenhuma licença obrigatória**.\nPara que o usuário seja criado com sucesso, é necessário atribuir pelo menos uma das seguintes licenças na requisição:\n* `tickets_license: true`\n* `whatsapp_license: true`\n\nBasta enviar **uma dessas opções** (ou ambas) no corpo da requisição.",
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "error": [
                          "At least one Tickets or Whatsapp license must be enabled to create the user"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar usuários"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "email",
                  "technical_group_id"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Brad Pitt",
                    "description": "Nome do usuário"
                  },
                  "email": {
                    "type": "string",
                    "example": "brad.pitt@gmail.com",
                    "description": "E-mail do usuário"
                  },
                  "technical_group_id": {
                    "type": "integer",
                    "example": 1,
                    "description": "ID do grupo de permissões do usuário"
                  },
                  "whatsapp_license": {
                    "type": "boolean",
                    "description": "Licença **whatsapp**"
                  },
                  "tickets_license": {
                    "type": "boolean",
                    "description": "Licença **Tickets**"
                  },
                  "remote_access_license": {
                    "type": "boolean",
                    "description": "Licença **Acesso remoto**"
                  },
                  "api_license": {
                    "type": "boolean",
                    "description": "Licença **API por usuário**"
                  },
                  "splashtop_license": {
                    "type": "boolean",
                    "description": "Licença **Splashtop RMM**"
                  }
                }
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "name": "Nome do usuário",
                    "email": "my_mail@example.com",
                    "technical_group_id": 204,
                    "whatsapp_license": true,
                    "tickets_license": true,
                    "remote_access_license": true,
                    "api_license": true,
                    "splashtop_license": true
                  }
                }
              }
            }
          },
          "required": true
        }
      }
    },
    "/users/{id}": {
      "get": {
        "summary": "Exibir usuário",
        "tags": [
          "Usuários"
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do usuário",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "description": "Exibe informações detalhadas sobre um determinado usuário.",
        "x-badges": [
          {
            "color": "green",
            "label": "Livre: Exibir informações do seu usuário"
          },
          {
            "color": "red",
            "label": "Gerenciar usuários"
          }
        ],
        "operationId": "get_users_id",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "example": {
                  "id": 202,
                  "_type": "attendant",
                  "active": true,
                  "client_ids": [

                  ],
                  "email": "minna.russel@greenfelder-predovic.example",
                  "email_info_alert": null,
                  "extension": null,
                  "gauth_enabled": false,
                  "last_login_at": "2026-04-28T21:29:12Z",
                  "name": "Minna Russel",
                  "signature": null,
                  "technical_group_id": 205,
                  "telephone": null
                }
              }
            }
          },
          "404": {
            "description": "### **Usuário não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find User with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**\nEssa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40301,
                  "message": "Access Denied - You cannot access this route",
                  "detail": {
                    "error": [
                      "You are not authorized to access this page."
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        }
      },
      "put": {
        "summary": "Atualizar usuário",
        "tags": [
          "Usuários"
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "description": "Essa é uma rota de gerenciamento, onde você pode atualizar o perfil de qualquer usuário da sua organização.\n> Se for atualizado o e-mail do usuário, será necessário confirmar essa alteração no novo e-mail. \n> Mais informações estão inclusas no atributo `email_info_alert`, retornado na resposta dessa requisição.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do usuário que será atualizado",
            "example": 1,
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "operationId": "put_users_id",
        "responses": {
          "200": {
            "description": "### **Atualizado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "_type": "attendant",
                  "active": true,
                  "client_ids": [

                  ],
                  "email": "api_user@example.test",
                  "email_info_alert": "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address.: user_new_mail@example.com",
                  "extension": 123,
                  "gauth_enabled": false,
                  "last_login_at": "2026-04-28T21:29:13Z",
                  "name": "Novo nome para o usuário",
                  "signature": "Assinatura do usuário",
                  "technical_group_id": 204,
                  "telephone": "+15029999999",
                  "user_licenses": {
                    "whatsapp_license": true,
                    "tickets_license": false,
                    "splashtop_license": false,
                    "remote_access_license": false,
                    "api_license": true
                  }
                }
              }
            }
          },
          "404": {
            "description": "### **Usuário não encontrado**",
            "content": {
              "application/json": {
                "example": {
                  "error_code": 40401,
                  "message": "Cannot find record",
                  "detail": {
                    "error": [
                      "Couldn't find User with 'id'=\"0\""
                    ]
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "422": {
            "description": "### **Problemas com valores dos parâmetros informados**",
            "content": {
              "application/json": {
                "examples": {
                  "name - empty": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "name": [
                          "can't be blank"
                        ]
                      }
                    }
                  },
                  "technical_group_id - not exists": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "technical_group_id": [
                          "this technical group doesn't exists in your organization"
                        ]
                      }
                    }
                  },
                  "email - not valid": {
                    "value": {
                      "error_code": 42202,
                      "message": "Problems with body attributes values",
                      "detail": {
                        "email": [
                          "is invalid"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "400": {
            "description": "### **Problemas com a requisição**",
            "content": {
              "application/json": {
                "examples": {
                  "trying to update not permitted params: created_at": {
                    "value": {
                      "error_code": 40001,
                      "message": "Unknown parameters",
                      "detail": {
                        "error": [
                          "found unpermitted parameter: :created_at"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          },
          "403": {
            "description": "### **Problemas com permissão**",
            "content": {
              "application/json": {
                "examples": {
                  "Sem a permissão necessária": {
                    "description": "Essa resposta significa que o seu grupo de permissões não possui a permissão necessária para acessar essa rota.\n\n- Para atualizar **somente usuários clientes**, a permissão <span style=\"margin:1px; padding:1px 8px; font-weight:bold; border-radius:12px;  background-color: var(--light-red, var(--input-bg)); color:var(--red); border:1px solid var(--red)\"><!--?lit$8458964218$-->Cadastrar solicitantes e usuários clientes</span> é suficiente\n\n- Porém, para atualizar **outros tipos de usuários**, será necessária a permissão <span style=\"margin:1px; padding:1px 8px; font-weight:bold; border-radius:12px;  background-color: var(--light-red, var(--input-bg)); color:var(--red); border:1px solid var(--red)\"><!--?lit$8458964218$-->Gerenciar usuários</span>",
                    "value": {
                      "error_code": 40301,
                      "message": "Access Denied - You cannot access this route",
                      "detail": {
                        "error": [
                          "You cannot update technical users"
                        ]
                      }
                    }
                  },
                  "Não é possível atualizar licenças de usuários clientes": {
                    "value": {
                      "error_code": 40302,
                      "message": "Access Denied - Unauthorized parameter usage",
                      "detail": {
                        "error": [
                          "Licenses cannot be added to client-type users"
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/errors_object"
                }
              }
            }
          }
        },
        "x-badges": [
          {
            "color": "red",
            "label": "Gerenciar usuários"
          },
          {
            "color": "red",
            "label": "Cadastrar solicitantes e usuários clientes"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "New User Name",
                    "description": "Novo nome do usuário"
                  },
                  "email": {
                    "type": "string",
                    "example": "my_new_mail@mail.com",
                    "description": "Novo e-mail do usuário. Lembrando que será necessário confirmar"
                  },
                  "technical_group_id": {
                    "type": "integer",
                    "example": 2,
                    "description": "Novo grupo técnico do usuário"
                  },
                  "active": {
                    "type": "boolean",
                    "example": false,
                    "description": "Inativar ou ativar o usuário"
                  },
                  "extension": {
                    "type": "integer",
                    "description": "Atualizar o ramal do usuários"
                  },
                  "telephone": {
                    "type": "string",
                    "example": "(47) 99999-9999",
                    "description": "Atualizar o telefone do usuário"
                  },
                  "client_ids": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "IDs dos clientes que serão relacionados com o usuário"
                  },
                  "country_code": {
                    "type": "string",
                    "default": "\"BR\"",
                    "description": "Código de país no formato <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\" target=\"_blank\">ISO 3166-1 alpha-2</a>\n\nEste atributo será utilizado para validar se o número de telefone informado é um número válido em um outro país diferente do Brasil"
                  },
                  "whatsapp_license": {
                    "type": "boolean",
                    "description": "Licença **whatsapp**"
                  },
                  "tickets_license": {
                    "type": "boolean",
                    "description": "Licença **Tickets**"
                  },
                  "remote_access_license": {
                    "type": "boolean",
                    "description": "Licença **Acesso remoto**"
                  },
                  "api_license": {
                    "type": "boolean",
                    "description": "Licença **API por usuário**"
                  },
                  "splashtop_license": {
                    "type": "boolean",
                    "description": "Licença **Splashtop RMM**"
                  }
                }
              },
              "examples": {
                "Atualizar usuário atendente/admin": {
                  "summary": "Atualizar usuário atendente/admin",
                  "value": {
                    "name": "Novo nome para o usuário",
                    "email": "user_new_mail@example.com",
                    "technical_group_id": 204,
                    "active": true,
                    "extension": 123,
                    "telephone": "(502) 999-9999",
                    "country_code": "US"
                  }
                },
                "Atualizar usuário cliente": {
                  "summary": "Atualizar usuário cliente",
                  "value": {
                    "name": "Novo nome para o usuário cliente",
                    "email": "client_user_new_mail@example.com",
                    "client_ids": [
                      40
                    ],
                    "active": false,
                    "extension": 321,
                    "telephone": "(502) 999-9999",
                    "country_code": "US"
                  }
                },
                "Atualizar licenças": {
                  "summary": "Atualizar licenças",
                  "value": {
                    "api_license": true,
                    "tickets_license": true,
                    "whatsapp_license": true,
                    "splashtop_license": true,
                    "remote_access_license": true
                  }
                }
              }
            }
          },
          "description": "- Só é possível atualizar a informação de `client_ids` em usuários do tipo cliente ou em usuários sem grupo\n- Só é possível atualizar a informação de `technical_group_id` em usuários que não sejam do tipo cliente\n- Só é possível adicionar ou remover licenças em usuários que não sejam do tipo cliente"
        }
      }
    },
    "/users/profile": {
      "put": {
        "summary": "Atualizar perfil do seu usuário",
        "tags": [
          "Usuários"
        ],
        "security": [
          {
            "BearerAuth": [

            ]
          }
        ],
        "description": "Nessa rota você pode atualizar o perfil do seu usuário.\n> Se for atualizado o e-mail do seu usuário, será necessário confirmar essa alteração no novo e-mail. \n> Mais informações estão inclusas no atributo `email_info_alert`, retornado na resposta dessa requisição.",
        "parameters": [

        ],
        "x-badges": [
          {
            "color": "green",
            "label": "Livre"
          }
        ],
        "operationId": "put_users_profile",
        "responses": {
          "200": {
            "description": "### **Perfil atualizado com sucesso**",
            "content": {
              "application/json": {
                "example": {
                  "id": 1,
                  "_type": "admin",
                  "active": true,
                  "client_ids": [

                  ],
                  "email": "api_user@example.test",
                  "email_info_alert": "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address.: my_new_mail@mail.com",
                  "extension": 500,
                  "gauth_enabled": false,
                  "last_login_at": "2026-04-28T21:29:15Z",
                  "name": "New User Name",
                  "signature": "Assinatura do usuário",
                  "technical_group_id": 1,
                  "telephone": "+15029999999"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/update_profile"
              },
              "examples": {
                "request_example_1": {
                  "summary": "A request example",
                  "value": {
                    "name": "New User Name",
                    "email": "my_new_mail@mail.com",
                    "telephone": "(502) 999-9999",
                    "country_code": "US",
                    "extension": 500
                  }
                }
              }
            }
          },
          "description": "O Body da requisição possui o seguinte padrão. Se for informada algum parâmetro errado, será disparado um erro"
        }
      }
    }
  },
  "components": {
    "schemas": {
      "errors_object": {
        "type": "object",
        "description": "# Schema de Erro\n\nTodas as requisições que apresentarem algum `erro` na aplicação (respostas diferentes do status `200`, `201` e `204`), terão em seu body, uma mensagem de erro no formato apresentado a seguir:\n```json\n{\n  \"error_code\": 40301,\n  \"message\": \"Access Denied - You cannot access this route\",\n  \"detail\": {\n      \"info\": [\n          \"You are not authorized to access this page.\"\n      ]\n  }\n}\n```\nBaseado no padrão de erro *RFC 7807 - Problem Details for HTTP APIs*. Essa padronização serve para você identificar com mais clareza o que aconteceu, categorizar os erros e tomar as devidas ações para tratá-lo.\n* `error_code`: Além do status HTTP da resposta, esse código de erro serve para categorizar e especificar com mais detalhes a falha que acabou de acontecer.\n* `message`: Um resumo breve e claro do erro, apropriado para ser apresentado como uma mensagem de erro ao usuário final.\n* `detail`: Um objeto contendo informações adicionais sobre o erro, como falhas específicas de validação ou outras mensagens contextuais.\n\n\n",
        "properties": {
          "error_code": {
            "type": "integer",
            "description": "## Código mais específico do problema.\nAlém do status da resposta, foi adicionado esse código de erro, para categorizar e especificar a falha que acabou de acontecer.\n\n`Exemplo`: 40301\n<br/>\n___"
          },
          "message": {
            "type": "string",
            "description": "## Breve descrição do problema apresentado\n\n`Exemplo`: \"Access Denied\"\n___"
          },
          "detail": {
            "type": "object",
            "description": "## Detalhes do problema ocorrido\n\n`Exemplo`: \n\n```json\n{ \n  \"info\": [ \"You are not authorized to access this page.\" ] \n}\n```\n___\n",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "entities": {
        "type": "object",
        "properties": {
          "entities": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "entity_field_id"
              ],
              "additionalProperties": false,
              "properties": {
                "entity_field_id": {
                  "type": "integer",
                  "description": "Identificador único do campo da entidade que será atualizada"
                },
                "entity_field_option_id": {
                  "type": "integer",
                  "nullable": true,
                  "default": null,
                  "description": "Identificador da opção do campo personalizado a ser atualizado.\n\nEste atributo só deve ser informado para campos do tipo `checkbox`"
                },
                "value": {
                  "type": "string",
                  "nullable": true,
                  "default": null,
                  "description": "Novo valor do campo personalizado.\n\nO formato específico de como o valor dessa string deve ser preenchido, depende do tipo de campo personalizado. Consulte a documentação para obter mais detalhes"
                },
                "country_code": {
                  "type": "string",
                  "default": "\"BR\"",
                  "description": "Código de país no formato <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\" target=\"_blank\">ISO 3166-1 alpha-2</a>\n\nEste atributo será utilizado para validar se o número de telefone informado é um número válido no país informado.\nEsse atributo só será utilizado ao atualizar um campo personalizado do tipo `phone`"
                }
              }
            }
          }
        }
      },
      "create_client_user": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Nome do usuário cliente"
              },
              "email": {
                "type": "string",
                "description": "E-mail do usuário cliente. Lembrando que será necessário confirmar"
              },
              "extension": {
                "type": "integer",
                "description": "Ramal do usuário",
                "minimum": 0,
                "maximum": 9999
              },
              "authorization_flow": {
                "type": "boolean",
                "description": "Esse usuário será um autorizador para novos tickets?",
                "default": false
              },
              "telephone": {
                "type": "string",
                "description": "Telefone do usuário"
              },
              "country_code": {
                "type": "string",
                "default": "\"BR\"",
                "description": "Código de país no formato <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\" target=\"_blank\">ISO 3166-1 alpha-2</a>\nEste atributo será utilizado para validar se o número de telefone informado é um número válido em um outro país diferente do Brasil"
              }
            },
            "required": [
              "name",
              "email"
            ]
          }
        }
      },
      "update_profile": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "New User Name",
            "description": "Novo nome da sua conta"
          },
          "email": {
            "type": "string",
            "example": "my_new_mail@mail.com",
            "description": "Novo e-mail do seu usuário. Lembrando que será necessário confirmar"
          },
          "extension": {
            "type": "integer",
            "example": 500,
            "description": "Atualizar o ramal da sua conta de usuário"
          },
          "telephone": {
            "type": "string",
            "example": "(502) 999-9999",
            "description": "Atualizar o telefone do seu usuário"
          },
          "country_code": {
            "type": "string",
            "example": "US",
            "default": "BR",
            "description": "Código de país no formato <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\" target=\"_blank\">ISO 3166-1 alpha-2</a>\n\nEste atributo será utilizado para validar se o número de telefone informado é um número válido em um outro país diferente do Brasil"
          }
        }
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "description": "Your Bearer token",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.tiflux.com/api/v2",
      "description": "Ambiente de produção"
    },
    {
      "url": "http://localhost:9898/api/v2",
      "description": "Ambiente de testes"
    },
    {
      "url": "https://dende.tiflux.com/api/v2",
      "description": "Ambiente de testes do SAQ"
    }
  ]
}