{
    "openapi": "3.1.0",
    "info": {
        "title": "GembaEnsina \u2014 API de Integra\u00e7\u00e3o",
        "version": "1.0.0",
        "description": "## API de Integra\u00e7\u00e3o \u2014 GembaEnsina\n\nUse esta API para sincronizar colaboradores do seu sistema HRIS com a plataforma GembaEnsina.\n\n### Base URL\nA API \u00e9 acessada pelo subdom\u00ednio da sua empresa:\n```\nhttps:\/\/{sua-empresa}.gembaensina.com.br\/api\/v1\n```\n\n### Autentica\u00e7\u00e3o\nTodas as rotas exigem um token Bearer. Gere o token em **Configura\u00e7\u00f5es \u2192 API & Token**.\n```\nAuthorization: Bearer {seu_token}\nContent-Type: application\/json\nAccept: application\/json\n```"
    },
    "servers": [
        {
            "url": "https:\/\/{empresa}.gembaensina.com.br\/api\/v1",
            "description": "Insira o subdom\u00ednio da sua empresa no campo abaixo",
            "variables": {
                "empresa": {
                    "default": "minhaempresa",
                    "description": "Subdom\u00ednio da sua empresa (ex: gembagroup)"
                }
            }
        }
    ],
    "tags": [
        {
            "name": "Colaboradores",
            "description": "Gerencie os colaboradores da plataforma.\n\nUse estes endpoints para integrar seu sistema HRIS e manter os usu\u00e1rios sincronizados.\n\n**Regras importantes:**\n- Colaboradores n\u00e3o s\u00e3o exclu\u00eddos, apenas **inativados**\n- A cria\u00e7\u00e3o respeita o **limite de licen\u00e7as** do plano contratado\n- O campo `document_number` pode armazenar a matr\u00edcula interna do colaborador"
        },
        {
            "name": "Departamentos",
            "description": "Gerencie os departamentos do tenant.\n\nCrie os departamentos antes de cadastrar colaboradores para poder vincul\u00e1-los.\n\n**Regra:** departamentos com colaboradores vinculados n\u00e3o podem ser exclu\u00eddos."
        },
        {
            "name": "Cargos",
            "description": "Gerencie os cargos (posi\u00e7\u00f5es) do tenant.\n\nCrie os cargos antes de cadastrar colaboradores para poder vincul\u00e1-los.\n\n**Regra:** cargos com colaboradores vinculados n\u00e3o podem ser exclu\u00eddos."
        }
    ],
    "security": [
        {
            "http": []
        }
    ],
    "paths": {
        "\/positions": {
            "get": {
                "operationId": "tenantApiPosition.index",
                "description": "Retorna todos os cargos cadastrados no tenant.",
                "summary": "Listar cargos",
                "tags": [
                    "Cargos",
                    "TenantApiPosition"
                ],
                "responses": {
                    "200": {
                        "description": "Lista de cargos.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Cargos carregados com sucesso.",
                                            "data": [
                                                {
                                                    "id": 1,
                                                    "title": "Analista de RH",
                                                    "description": "Respons\u00e1vel pelo RH",
                                                    "goal_hours": 20,
                                                    "users_count": 3
                                                },
                                                {
                                                    "id": 2,
                                                    "title": "Desenvolvedor",
                                                    "description": null,
                                                    "goal_hours": 40,
                                                    "users_count": 7
                                                }
                                            ]
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Cargos carregados com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "tenantApiPosition.store",
                "description": "Cria um novo cargo no tenant.",
                "summary": "Criar cargo",
                "tags": [
                    "Cargos",
                    "TenantApiPosition"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "description": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 500
                                    },
                                    "goal_hours": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "minimum": 0,
                                        "maximum": 9999
                                    }
                                },
                                "required": [
                                    "title"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Cargo criado com sucesso.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Cargo criado com sucesso.",
                                            "data": {
                                                "id": 1,
                                                "title": "Analista de RH",
                                                "description": "Respons\u00e1vel pelo RH",
                                                "goal_hours": 20,
                                                "users_count": 0
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Cargo criado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "description": {
                                                    "type": "string"
                                                },
                                                "goal_hours": {
                                                    "type": "string"
                                                },
                                                "users_count": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "title",
                                                "description",
                                                "goal_hours",
                                                "users_count"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro de valida\u00e7\u00e3o.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Erro na valida\u00e7\u00e3o dos dados.",
                                            "errors": {
                                                "title": [
                                                    "O nome do cargo \u00e9 obrigat\u00f3rio."
                                                ]
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Erro na valida\u00e7\u00e3o dos dados."
                                            ]
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/positions\/{id}": {
            "get": {
                "operationId": "tenantApiPosition.show",
                "description": "Retorna os dados de um cargo espec\u00edfico pelo ID.",
                "summary": "Buscar cargo",
                "tags": [
                    "Cargos",
                    "TenantApiPosition"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cargo encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Cargo carregado com sucesso.",
                                            "data": {
                                                "id": 1,
                                                "title": "Analista de RH",
                                                "description": "Respons\u00e1vel pelo RH",
                                                "goal_hours": 20,
                                                "users_count": 3
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Cargo carregado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "description": {
                                                    "type": "string"
                                                },
                                                "goal_hours": {
                                                    "type": "string"
                                                },
                                                "users_count": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "title",
                                                "description",
                                                "goal_hours",
                                                "users_count"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Cargo n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Cargo n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Cargo n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "tenantApiPosition.update",
                "description": "Atualiza os dados de um cargo existente. Envie apenas os campos que deseja alterar.",
                "summary": "Atualizar cargo",
                "tags": [
                    "Cargos",
                    "TenantApiPosition"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "description": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 500
                                    },
                                    "goal_hours": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "minimum": 0,
                                        "maximum": 9999
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Cargo atualizado com sucesso.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Cargo atualizado com sucesso.",
                                            "data": {
                                                "id": 1,
                                                "title": "Analista S\u00eanior",
                                                "description": "Com experi\u00eancia",
                                                "goal_hours": 30,
                                                "users_count": 3
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Cargo atualizado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "description": {
                                                    "type": "string"
                                                },
                                                "goal_hours": {
                                                    "type": "string"
                                                },
                                                "users_count": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "title",
                                                "description",
                                                "goal_hours",
                                                "users_count"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro de valida\u00e7\u00e3o.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Erro na valida\u00e7\u00e3o dos dados.",
                                            "errors": {
                                                "title": [
                                                    "J\u00e1 existe um cargo com este nome."
                                                ]
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Erro na valida\u00e7\u00e3o dos dados."
                                            ]
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Cargo n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Cargo n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Cargo n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "delete": {
                "operationId": "tenantApiPosition.destroy",
                "description": "Remove um cargo. **N\u00e3o \u00e9 poss\u00edvel excluir cargos que possuem colaboradores vinculados.**",
                "summary": "Excluir cargo",
                "tags": [
                    "Cargos",
                    "TenantApiPosition"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cargo exclu\u00eddo com sucesso.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Cargo exclu\u00eddo com sucesso."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Cargo exclu\u00eddo com sucesso."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Cargo possui colaboradores.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Este cargo possui 3 colaborador(es) vinculado(s) e n\u00e3o pode ser exclu\u00eddo."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Cargo n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Cargo n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Cargo n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/users": {
            "get": {
                "operationId": "tenantApiUsers.index",
                "description": "Retorna a lista paginada de colaboradores do tenant.\nUse os par\u00e2metros de query para filtrar e paginar os resultados.",
                "summary": "Listar colaboradores",
                "tags": [
                    "Colaboradores",
                    "TenantApiUsers"
                ],
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 255
                        }
                    },
                    {
                        "name": "department_id",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "is_active",
                        "in": "query",
                        "schema": {
                            "type": [
                                "boolean",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 100
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lista paginada de colaboradores.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rios carregados com sucesso.",
                                            "data": {
                                                "current_page": 1,
                                                "total": 50,
                                                "per_page": 15,
                                                "last_page": 4,
                                                "data": [
                                                    {
                                                        "id": 1,
                                                        "first_name": "Jo\u00e3o",
                                                        "last_name": "Silva",
                                                        "email": "joao@empresa.com",
                                                        "cpf": null,
                                                        "phone_number": "11999990000",
                                                        "document_number": "EMP-001",
                                                        "is_active": true,
                                                        "department": {
                                                            "id": 3,
                                                            "title": "Vendas"
                                                        },
                                                        "position": {
                                                            "id": 2,
                                                            "title": "Analista"
                                                        },
                                                        "created_at": "2026-01-01T00:00:00+00:00"
                                                    }
                                                ]
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rios carregados com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Par\u00e2metros inv\u00e1lidos."
                                            ]
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Token inv\u00e1lido.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Token inv\u00e1lido ou n\u00e3o informado. Verifique o header Authorization: Bearer {seu_token} e tente novamente."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error overview."
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "tenantApiUsers.store",
                "description": "Cria um novo colaborador na plataforma. O usu\u00e1rio recebe o papel de **aluno** automaticamente.\nA cria\u00e7\u00e3o respeita o limite de licen\u00e7as do plano contratado.",
                "summary": "Criar colaborador",
                "tags": [
                    "Colaboradores",
                    "TenantApiUsers"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "first_name": {
                                        "type": "string",
                                        "maxLength": 100
                                    },
                                    "last_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 100
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6
                                    },
                                    "cpf": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 14
                                    },
                                    "phone_number": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 17
                                    },
                                    "document_number": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 18
                                    },
                                    "department_id": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ]
                                    },
                                    "employment_id": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ]
                                    },
                                    "password_confirmation": {
                                        "type": "string",
                                        "minLength": 6
                                    }
                                },
                                "required": [
                                    "first_name",
                                    "email",
                                    "password",
                                    "password_confirmation"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Colaborador criado com sucesso.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio criado com sucesso.",
                                            "data": {
                                                "id": 42,
                                                "first_name": "Jo\u00e3o",
                                                "last_name": "Silva",
                                                "email": "joao@empresa.com",
                                                "cpf": null,
                                                "phone_number": "11999990000",
                                                "document_number": "EMP-001",
                                                "is_active": true,
                                                "department": null,
                                                "position": null,
                                                "created_at": "2026-01-01T00:00:00+00:00"
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio criado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "first_name": {
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "cpf": {
                                                    "type": "string"
                                                },
                                                "phone_number": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "document_number": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "is_active": {
                                                    "type": "boolean"
                                                },
                                                "department": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "id": {
                                                            "type": "string"
                                                        },
                                                        "title": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "title"
                                                    ]
                                                },
                                                "position": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "id": {
                                                            "type": "string"
                                                        },
                                                        "title": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "title"
                                                    ]
                                                },
                                                "created_at": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "first_name",
                                                "last_name",
                                                "email",
                                                "cpf",
                                                "phone_number",
                                                "document_number",
                                                "is_active",
                                                "department",
                                                "position",
                                                "created_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro de valida\u00e7\u00e3o.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "examples": [
                                        {
                                            "message": "Erro na valida\u00e7\u00e3o dos dados.",
                                            "errors": {
                                                "email": [
                                                    "Este e-mail j\u00e1 est\u00e1 em uso."
                                                ]
                                            }
                                        }
                                    ],
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Limite de licen\u00e7as atingido. N\u00e3o \u00e9 poss\u00edvel criar novos usu\u00e1rios."
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Erro na valida\u00e7\u00e3o dos dados."
                                                    ]
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "message",
                                                "errors"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/users\/{id}": {
            "get": {
                "operationId": "tenantApiUsers.show",
                "description": "Retorna os dados de um colaborador espec\u00edfico pelo seu ID.",
                "summary": "Buscar colaborador",
                "tags": [
                    "Colaboradores",
                    "TenantApiUsers"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Colaborador encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio carregado com sucesso.",
                                            "data": {
                                                "id": 42,
                                                "first_name": "Jo\u00e3o",
                                                "last_name": "Silva",
                                                "email": "joao@empresa.com",
                                                "cpf": "123.456.789-00",
                                                "phone_number": "11999990000",
                                                "document_number": "EMP-001",
                                                "is_active": true,
                                                "department": {
                                                    "id": 3,
                                                    "title": "Vendas"
                                                },
                                                "position": {
                                                    "id": 2,
                                                    "title": "Analista"
                                                },
                                                "created_at": "2026-01-01T00:00:00+00:00"
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio carregado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "first_name": {
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "cpf": {
                                                    "type": "string"
                                                },
                                                "phone_number": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "document_number": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "is_active": {
                                                    "type": "boolean"
                                                },
                                                "department": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "id": {
                                                            "type": "string"
                                                        },
                                                        "title": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "title"
                                                    ]
                                                },
                                                "position": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "id": {
                                                            "type": "string"
                                                        },
                                                        "title": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "title"
                                                    ]
                                                },
                                                "created_at": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "first_name",
                                                "last_name",
                                                "email",
                                                "cpf",
                                                "phone_number",
                                                "document_number",
                                                "is_active",
                                                "department",
                                                "position",
                                                "created_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Colaborador n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "tenantApiUsers.update",
                "description": "Atualiza os dados de um colaborador existente. Envie apenas os campos que deseja alterar.",
                "summary": "Atualizar colaborador",
                "tags": [
                    "Colaboradores",
                    "TenantApiUsers"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "first_name": {
                                        "type": "string",
                                        "maxLength": 100
                                    },
                                    "last_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 100
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "password": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "minLength": 6
                                    },
                                    "cpf": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 14
                                    },
                                    "phone_number": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 17
                                    },
                                    "document_number": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 18
                                    },
                                    "department_id": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ]
                                    },
                                    "employment_id": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ]
                                    },
                                    "password_confirmation": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "minLength": 6
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Colaborador atualizado com sucesso.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio atualizado com sucesso.",
                                            "data": {
                                                "id": 42,
                                                "first_name": "Jo\u00e3o",
                                                "last_name": "Silva",
                                                "email": "joao@empresa.com",
                                                "cpf": null,
                                                "phone_number": "11999990000",
                                                "document_number": "EMP-001",
                                                "is_active": true,
                                                "department": {
                                                    "id": 3,
                                                    "title": "Vendas"
                                                },
                                                "position": {
                                                    "id": 2,
                                                    "title": "Analista"
                                                },
                                                "created_at": "2026-01-01T00:00:00+00:00"
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio atualizado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "first_name": {
                                                    "type": "string"
                                                },
                                                "last_name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "cpf": {
                                                    "type": "string"
                                                },
                                                "phone_number": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "document_number": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "is_active": {
                                                    "type": "boolean"
                                                },
                                                "department": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "id": {
                                                            "type": "string"
                                                        },
                                                        "title": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "title"
                                                    ]
                                                },
                                                "position": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "id": {
                                                            "type": "string"
                                                        },
                                                        "title": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "title"
                                                    ]
                                                },
                                                "created_at": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "first_name",
                                                "last_name",
                                                "email",
                                                "cpf",
                                                "phone_number",
                                                "document_number",
                                                "is_active",
                                                "department",
                                                "position",
                                                "created_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro de valida\u00e7\u00e3o.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Erro na valida\u00e7\u00e3o dos dados.",
                                            "errors": {
                                                "email": [
                                                    "Este e-mail j\u00e1 est\u00e1 em uso."
                                                ]
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Erro na valida\u00e7\u00e3o dos dados."
                                            ]
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Colaborador n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/users\/{id}\/deactivate": {
            "patch": {
                "operationId": "tenantApiUsers.deactivate",
                "description": "Inativa o colaborador na plataforma. O acesso \u00e9 bloqueado mas o hist\u00f3rico \u00e9 preservado.\nColaboradores **n\u00e3o s\u00e3o exclu\u00eddos** \u2014 apenas inativados.",
                "summary": "Inativar colaborador",
                "tags": [
                    "Colaboradores",
                    "TenantApiUsers"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Colaborador inativado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio inativado com sucesso.",
                                            "data": {
                                                "id": 42,
                                                "is_active": false
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio inativado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "is_active": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "is_active"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Colaborador j\u00e1 inativo.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio j\u00e1 est\u00e1 inativo."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio j\u00e1 est\u00e1 inativo."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Colaborador n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/users\/{id}\/activate": {
            "patch": {
                "operationId": "tenantApiUsers.activate",
                "description": "Reativa um colaborador previamente inativado. Verifica o limite de licen\u00e7as antes de reativar.",
                "summary": "Reativar colaborador",
                "tags": [
                    "Colaboradores",
                    "TenantApiUsers"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Colaborador reativado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio reativado com sucesso.",
                                            "data": {
                                                "id": 42,
                                                "is_active": true
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio reativado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "is_active": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "is_active"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "N\u00e3o foi poss\u00edvel reativar.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio j\u00e1 est\u00e1 ativo."
                                        }
                                    ],
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Limite de licen\u00e7as atingido. N\u00e3o \u00e9 poss\u00edvel reativar o usu\u00e1rio."
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "enum": [
                                                        "Usu\u00e1rio j\u00e1 est\u00e1 ativo."
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Colaborador n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Usu\u00e1rio n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Usu\u00e1rio n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/departments": {
            "get": {
                "operationId": "tenantApiDepartment.index",
                "description": "Retorna todos os departamentos cadastrados no tenant.",
                "summary": "Listar departamentos",
                "tags": [
                    "Departamentos",
                    "TenantApiDepartment"
                ],
                "responses": {
                    "200": {
                        "description": "Lista de departamentos.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Departamentos carregados com sucesso.",
                                            "data": [
                                                {
                                                    "id": 1,
                                                    "title": "Vendas",
                                                    "description": "Equipe comercial",
                                                    "goal_hours": 40,
                                                    "users_count": 5
                                                },
                                                {
                                                    "id": 2,
                                                    "title": "TI",
                                                    "description": null,
                                                    "goal_hours": 20,
                                                    "users_count": 3
                                                }
                                            ]
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Departamentos carregados com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "tenantApiDepartment.store",
                "description": "Cria um novo departamento no tenant.",
                "summary": "Criar departamento",
                "tags": [
                    "Departamentos",
                    "TenantApiDepartment"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "description": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 500
                                    },
                                    "goal_hours": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "minimum": 0,
                                        "maximum": 9999
                                    }
                                },
                                "required": [
                                    "title"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Departamento criado com sucesso.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Departamento criado com sucesso.",
                                            "data": {
                                                "id": 1,
                                                "title": "Vendas",
                                                "description": "Equipe comercial",
                                                "goal_hours": 40,
                                                "users_count": 0
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Departamento criado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "description": {
                                                    "type": "string"
                                                },
                                                "goal_hours": {
                                                    "type": "string"
                                                },
                                                "users_count": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "title",
                                                "description",
                                                "goal_hours",
                                                "users_count"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro de valida\u00e7\u00e3o.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Erro na valida\u00e7\u00e3o dos dados.",
                                            "errors": {
                                                "title": [
                                                    "O nome do departamento \u00e9 obrigat\u00f3rio."
                                                ]
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Erro na valida\u00e7\u00e3o dos dados."
                                            ]
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/departments\/{id}": {
            "get": {
                "operationId": "tenantApiDepartment.show",
                "description": "Retorna os dados de um departamento espec\u00edfico pelo ID.",
                "summary": "Buscar departamento",
                "tags": [
                    "Departamentos",
                    "TenantApiDepartment"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Departamento encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Departamento carregado com sucesso.",
                                            "data": {
                                                "id": 1,
                                                "title": "Vendas",
                                                "description": "Equipe comercial",
                                                "goal_hours": 40,
                                                "users_count": 5
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Departamento carregado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "description": {
                                                    "type": "string"
                                                },
                                                "goal_hours": {
                                                    "type": "string"
                                                },
                                                "users_count": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "title",
                                                "description",
                                                "goal_hours",
                                                "users_count"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Departamento n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Departamento n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Departamento n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "tenantApiDepartment.update",
                "description": "Atualiza os dados de um departamento existente. Envie apenas os campos que deseja alterar.",
                "summary": "Atualizar departamento",
                "tags": [
                    "Departamentos",
                    "TenantApiDepartment"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255
                                    },
                                    "description": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 500
                                    },
                                    "goal_hours": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "minimum": 0,
                                        "maximum": 9999
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Departamento atualizado com sucesso.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Departamento atualizado com sucesso.",
                                            "data": {
                                                "id": 1,
                                                "title": "Comercial",
                                                "description": "Equipe comercial",
                                                "goal_hours": 40,
                                                "users_count": 5
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Departamento atualizado com sucesso."
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "description": {
                                                    "type": "string"
                                                },
                                                "goal_hours": {
                                                    "type": "string"
                                                },
                                                "users_count": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "title",
                                                "description",
                                                "goal_hours",
                                                "users_count"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro de valida\u00e7\u00e3o.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Erro na valida\u00e7\u00e3o dos dados.",
                                            "errors": {
                                                "title": [
                                                    "J\u00e1 existe um departamento com este nome."
                                                ]
                                            }
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Erro na valida\u00e7\u00e3o dos dados."
                                            ]
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Departamento n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Departamento n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Departamento n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "delete": {
                "operationId": "tenantApiDepartment.destroy",
                "description": "Remove um departamento. **N\u00e3o \u00e9 poss\u00edvel excluir departamentos que possuem colaboradores vinculados.**",
                "summary": "Excluir departamento",
                "tags": [
                    "Departamentos",
                    "TenantApiDepartment"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Departamento exclu\u00eddo com sucesso.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Departamento exclu\u00eddo com sucesso."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Departamento exclu\u00eddo com sucesso."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Departamento possui colaboradores.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Este departamento possui 3 colaborador(es) vinculado(s) e n\u00e3o pode ser exclu\u00eddo."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Departamento n\u00e3o encontrado.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "examples": [
                                        {
                                            "message": "Departamento n\u00e3o encontrado."
                                        }
                                    ],
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Departamento n\u00e3o encontrado."
                                            ]
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "http": {
                "type": "http",
                "description": "Gere seu token em **Configura\u00e7\u00f5es \u2192 API & Token** dentro da plataforma.\n\nInclua o token em todas as requisi\u00e7\u00f5es:\n\n`Authorization: Bearer {seu_token}`",
                "scheme": "bearer"
            }
        },
        "responses": {
            "AuthenticationException": {
                "description": "Unauthenticated",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            }
        }
    }
}