> ## Documentation Index
> Fetch the complete documentation index at: https://developers.pontua.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Exclui colaborador (soft-delete reversível)

> Remove um colaborador da unidade de negócio. **Soft-delete** — o registro continua no banco para preservar histórico de ponto, folha e fiscalização (Portaria 671 exige retenção de 5 anos).

**Comportamento por estado:**
- **Cadastro incompleto** (sem vínculos organizacionais): exclui imediatamente sem precisar de `temCerteza`
- **Cadastro finalizado** (com vínculos): **exige** `?temCerteza=true` como confirmação explícita. Sem isso, retorna 400 com mensagem instrutiva. Esse "double opt-in" evita exclusões acidentais via integração mal calibrada.

**Efeitos:**
- Colaborador **some** de listas filtradas `status=ATIVO` (`GET /colaborador?status=ATIVO`)
- **Permanece** em `GET /colaborador` sem filtro (com status `DEMITIDO`)
- Frequências e registros de ponto históricos **continuam** acessíveis em `GET /frequency` e `GET /registro-ponto`
- Folha do mês corrente é recalculada (rescisão proporcional)

**Reverter:** dentro de janela curta, use `PATCH /:id/recuperar` (acima) para restaurar o cadastro completo. Após muito tempo, prefira `POST /colaborador` para recadastrar.

**Atenção LGPD:** este endpoint **não** apaga dados pessoais do banco — para "direito ao esquecimento" definitivo, abra ticket em `tecnologia@pontua.com.br` (anonimização exige procedimento formal de compliance).



## OpenAPI

````yaml https://api.pre.pontua.tech/api/public/doc-json delete /colaborador/{colaboradorId}
openapi: 3.0.0
info:
  title: Pontua Public API
  description: >-
    API oficial da Pontua para integrações de clientes externos. Autentique com
    o token gerado no dashboard em **Configurações → API**. Envie o token no
    header `Authorization: Bearer <SEU_TOKEN>`.
  version: '1.0'
  contact: {}
servers: []
security: []
tags: []
paths:
  /colaborador/{colaboradorId}:
    delete:
      tags:
        - Colaborador
      summary: Exclui colaborador (soft-delete reversível)
      description: >-
        Remove um colaborador da unidade de negócio. **Soft-delete** — o
        registro continua no banco para preservar histórico de ponto, folha e
        fiscalização (Portaria 671 exige retenção de 5 anos).


        **Comportamento por estado:**

        - **Cadastro incompleto** (sem vínculos organizacionais): exclui
        imediatamente sem precisar de `temCerteza`

        - **Cadastro finalizado** (com vínculos): **exige** `?temCerteza=true`
        como confirmação explícita. Sem isso, retorna 400 com mensagem
        instrutiva. Esse "double opt-in" evita exclusões acidentais via
        integração mal calibrada.


        **Efeitos:**

        - Colaborador **some** de listas filtradas `status=ATIVO` (`GET
        /colaborador?status=ATIVO`)

        - **Permanece** em `GET /colaborador` sem filtro (com status `DEMITIDO`)

        - Frequências e registros de ponto históricos **continuam** acessíveis
        em `GET /frequency` e `GET /registro-ponto`

        - Folha do mês corrente é recalculada (rescisão proporcional)


        **Reverter:** dentro de janela curta, use `PATCH /:id/recuperar` (acima)
        para restaurar o cadastro completo. Após muito tempo, prefira `POST
        /colaborador` para recadastrar.


        **Atenção LGPD:** este endpoint **não** apaga dados pessoais do banco —
        para "direito ao esquecimento" definitivo, abra ticket em
        `tecnologia@pontua.com.br` (anonimização exige procedimento formal de
        compliance).
      operationId: ColaboradorController_remove
      parameters:
        - name: colaboradorId
          required: true
          in: path
          description: Id do colaborador
          schema:
            example: a2f2cbed-e141-465c-a769-f1591be5f35c
            type: string
        - name: temCerteza
          required: false
          in: query
          description: >-
            Quando o colaborador já tem cadastro finalizado (vínculos
            organizacionais completos), exige `true` para confirmar. Para
            cadastros incompletos, é ignorado.
          schema:
            example: true
            type: boolean
      responses:
        '200':
          description: Registro deletado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OkDto'
        default:
          description: "\n\t\t\t400 - Bad Request: A solicitação não está no formato correto.\n\t\t\t401 - Unauthorized: A solicitação não foi autorizada. Verifique se o token de acesso é válido.\n\t\t\t403 - Forbidden: Acesso proibido! Requer um nível de permissão mais elevado.\n\t\t\t404 - Not Found: O recurso solicitado não foi encontrado.\n\t\t\t500 - Internal Server Error: Erro de execução no servidor!\n\t\t\t"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
      deprecated: false
      security:
        - bearer: []
components:
  schemas:
    OkDto:
      type: object
      properties:
        status:
          type: boolean
          description: Status da operação
          example: true
        mensagem:
          type: string
          description: Mensagem de retorno
          example: OK
      required:
        - status
    ErrorDto:
      type: object
      properties:
        service:
          type: string
          description: Rota solicitada
        method:
          type: string
          description: Método http
        message:
          description: Mensagem do erro
          oneOf:
            - type: string
              example: message erro
            - type: array
              items:
                type: string
                example:
                  - erro 1
                  - erro 2
      required:
        - service
        - method
        - message

````