> ## 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.

# Atualiza dados do colaborador (parcial — só campos enviados)

> Atualiza **qualquer campo** de um colaborador (dados pessoais, vínculo organizacional, configurações de turno, alocação, complemento, foto). Endpoint **unificado** que substitui os antigos PATCH `/dados`, `/acesso`, `/alocacao`, `/complemento`, `/preferencia`, `/foto`, `/definicoes` (todos deprecated).

**Comportamento PATCH:** **só os campos enviados são alterados** — campos omitidos ficam intactos. Não é PUT, não substitui o objeto inteiro.

**Casos de uso comuns:**
- Promoção: alterar `cargoId` mantendo o resto
- Mudança de departamento: `departamentoId` + `equipeId`
- Atualizar contato: `email`, `telefone`
- Mudar foto: `foto` em base64 ou URL S3 pré-assinada
- Reconfigurar turno: `turnoId` (impacta jornada a partir da data informada)

**Cuidados:**
- Mudança de `departamentoId` pode afetar gestores que veem aquele colaborador na inbox de aprovação de ajustes.
- Mudança de `turnoId` retroativa pode recalcular frequências passadas.
- Para mudança de **status** (ATIVO/DEMITIDO/etc.), use `PATCH /:id/status` — endpoint específico com auditoria especial.

**Audit:** toda alteração fica em log auditável vinculado ao usuário do token.



## OpenAPI

````yaml https://api.pre.pontua.tech/api/public/doc-json patch /colaborador/{collaboratorId}
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/{collaboratorId}:
    patch:
      tags:
        - Colaborador
      summary: Atualiza dados do colaborador (parcial — só campos enviados)
      description: >-
        Atualiza **qualquer campo** de um colaborador (dados pessoais, vínculo
        organizacional, configurações de turno, alocação, complemento, foto).
        Endpoint **unificado** que substitui os antigos PATCH `/dados`,
        `/acesso`, `/alocacao`, `/complemento`, `/preferencia`, `/foto`,
        `/definicoes` (todos deprecated).


        **Comportamento PATCH:** **só os campos enviados são alterados** —
        campos omitidos ficam intactos. Não é PUT, não substitui o objeto
        inteiro.


        **Casos de uso comuns:**

        - Promoção: alterar `cargoId` mantendo o resto

        - Mudança de departamento: `departamentoId` + `equipeId`

        - Atualizar contato: `email`, `telefone`

        - Mudar foto: `foto` em base64 ou URL S3 pré-assinada

        - Reconfigurar turno: `turnoId` (impacta jornada a partir da data
        informada)


        **Cuidados:**

        - Mudança de `departamentoId` pode afetar gestores que veem aquele
        colaborador na inbox de aprovação de ajustes.

        - Mudança de `turnoId` retroativa pode recalcular frequências passadas.

        - Para mudança de **status** (ATIVO/DEMITIDO/etc.), use `PATCH
        /:id/status` — endpoint específico com auditoria especial.


        **Audit:** toda alteração fica em log auditável vinculado ao usuário do
        token.
      operationId: ColaboradorController_update
      parameters:
        - name: collaboratorId
          required: true
          in: path
          description: Id do colaborador
          schema:
            type: string
      requestBody:
        required: true
        description: Campos a atualizar (todos opcionais; envie só os que mudarem)
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCollaboratorDto'
            examples:
              Dados cadastrais:
                value:
                  documentNumber: '71055398712'
                  fullName: Douglas Fernandez Coelho
                  nameOrCorporateName: Douglas Vitor
                  birthDate: '1990-07-23T00:00:00.000Z'
                  maritalStatus: SOLTEIRO
                  gender: MASCULINO
                  isDraft: false
                  step: DADOS
              Complemento:
                value:
                  socialSecurityNumber: '55483726696'
                  eSocialRegistration: Douglas Vitor
                  internalRegistration: '49172594718'
                  email: douglas@pontua.com.br
                  cellphone: '62993610391'
                  address:
                    rua: Rua da Felicidade
                    numero: s/n
                    complemento: Sombra da Tarde
                    bairro: Jardim America
                    cidade: Barreiras
                    estado: BA
                    cep: '47803658'
                  isDraft: false
                  step: COMPLEMENTO
              Alocação:
                value:
                  bondType: CLT
                  hasUnhealthinessSupplement: true
                  unhealthinessValue: GRAU_MEDIO_20
                  hasHazardPay: true
                  positionId: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
                  departmentId: c9f447fe-f97f-4f24-974d-9f92eb3049dc
                  teamId: f029e9b4-5943-4650-bb67-8c6f19d78345
                  salary: 7400
                  salaryType: SALARIO_FIXO
                  timeZone: SAO_PAULO
                  workplaceId: f029e9b4-5943-4650-bb67-8c6f19d78345
                  costCenterId: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
                  isDraft: false
                  step: ALOCACAO
              Preferências:
                value:
                  admissionDate: '2023-11-20T00:00:00.000Z'
                  startDate: '2023-11-20T00:00:00.000Z'
                  calendarId: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
                  shiftId: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
                  isDraft: false
                  step: PREFERENCIA
              Definições:
                value:
                  logoBase64: >-
                    data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwQDBG
                  punchConfigId: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
                  punchRuleId: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
                  isDraft: false
                  step: DEFINICOES
              Acesso:
                value:
                  useStandardConfig: true
                  liberateAccess: true
                  sendAccessEmail: true
                  sendAccessSMS: false
                  requestFacialRegistration: false
                  isDraft: false
                  step: ACESSO
      responses:
        '200':
          description: Atualizado 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:
    UpdateCollaboratorDto:
      type: object
      properties:
        collaboratorType:
          type: string
          description: Identificação se será um Colaborador CLT ou Prestador de Serviço
          enum:
            - CLT
            - PRESTADOR_SERVICO
          default: CLT
        documentNumber:
          type: string
          description: CPF ou CNPJ
          example: '71055398712'
        nameOrCorporateName:
          type: string
          description: Nome ou razão social
          example: Douglas Vitor
        fullName:
          type: string
          description: Nome completo do colaborador
          example: Douglas Fernandez Coelho
        birthDate:
          format: date-time
          type: string
          description: Data de nascimento
          example: '2026-05-11T13:08:56.492Z'
        maritalStatus:
          type: string
          description: Estado civil
          default: SOLTEIRO
          enum:
            - SOLTEIRO
            - CASADO
            - SEPARADO
            - DIVORCIADO
            - VIUVO
        gender:
          type: string
          description: Genero
          default: MASCULINO
          enum:
            - MASCULINO
            - FEMININO
            - OUTRO
        fantasyName:
          type: string
          description: Nome fantasia
          example: STW Tecnologia
        stateRegistration:
          type: string
          description: Inscrição estadual
          example: '123456789'
        isStateRegistrationExempt:
          type: boolean
          description: Inscrição estadual está isenta?
          default: false
        cityRegistration:
          type: string
          description: Inscrição municipal
          example: '987654321'
        isCityRegistrationExempt:
          type: boolean
          description: Inscrição municipal está isenta?
          default: false
        socialSecurityNumber:
          type: string
          description: >-
            Número do tipo de vínculo previdenciário do empregado (NIS, PIS,
            etc)
          example: N586692225
        eSocialRegistration:
          type: string
          description: Matrícula do eSocial
          example: Douglas Vitor
        internalRegistration:
          type: string
          description: Matrícula interna da empresa
          example: '49172594718'
        email:
          type: string
          description: Email do empregado
          example: douglas@pontua.com.br
        cellphone:
          type: string
          description: Número do telefone celular do empregado
          example: '62993610391'
        address:
          description: Endereço do empregado
          allOf:
            - $ref: '#/components/schemas/EnderecoEntity'
        bondType:
          type: string
          description: Tipo de vínculo
          default: CLT
          enum:
            - CLT
            - APRENDIZ
            - ESTAGIO
            - AUTONOMO
            - INTERMITENTE
            - OUTROS
        hasUnhealthinessSupplement:
          type: boolean
          description: Se o empregado terá adicional de Insalubridade
          example: false
        unhealthinessValue:
          type: string
          description: Selecionar o grau de Insalubridade
          default: GRAU_MEDIO_20
          enum:
            - GRAU_MINIMO_10
            - GRAU_MEDIO_20
            - GRAU_MAXIMO_40
        hasHazardPay:
          type: boolean
          description: Se o empregado terá adicional de Insalubridade
          example: false
        positionId:
          type: string
          description: ID referente ao cargo
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        departmentId:
          type: string
          description: ID referente ao departamento
          example: c9f447fe-f97f-4f24-974d-9f92eb3049dc
        teamId:
          type: string
          description: ID referente à equipe
          example: f029e9b4-5943-4650-bb67-8c6f19d78345
        salary:
          type: number
          description: Salário do empregado
          example: 7400
        salaryType:
          type: string
          description: Tipo de remuneração do empregado
          enum:
            - SALARIO_FIXO
            - POR_HORA
            - DIARIAS
            - PRESTACAO_SERVICO
          default: SALARIO_FIXO
        timeZone:
          type: string
          description: Fuso horário
          default: SAO_PAULO
          enum:
            - MANAUS
            - NORONHA
            - RIO_BRANCO
            - SAO_PAULO
        workplaceId:
          type: string
          description: ID referente ao local de trabalho
          example: f029e9b4-5943-4650-bb67-8c6f19d78345
        costCenterId:
          type: string
          description: ID referente ao centro de custo
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        admissionDate:
          format: date-time
          type: string
          description: Data de admissão do colaborador
          example: '2023-11-20T00:00:00.000Z'
        startDate:
          format: date-time
          type: string
          description: Data de inicio do colaborador
          example: '2023-11-20T00:00:00.000Z'
        calendarId:
          type: string
          description: >-
            ID referente ao calendário de trabalho da empresa, onde colocorá o
            colaborador
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        shiftId:
          type: string
          description: ID referente ao turno, onde colocorá o colaborador
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        logoBase64:
          type: string
          description: Base64 da foto do colaborador
          format: base64
          example: >-
            data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwQDBG
        punchConfigId:
          type: string
          description: ID da batida de ponto que o colaborador terá
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        punchRuleId:
          type: string
          description: ID referente a regra de ponto atribuida ao empregado
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        useStandardConfig:
          type: boolean
          description: Status sobre o uso das configurações padrões estabelecidas
          example: true
        liberateAccess:
          type: boolean
          description: Liberar acesso ao sistema ao colaborador
          example: true
        sendAccessEmail:
          type: boolean
          description: Enviar acesso ao sistema por EMAIL ao colaborador
          example: true
        sendAccessSMS:
          type: boolean
          description: Enviar acesso ao sistema por SMS ao colaborador
          example: true
        requestFacialRegistration:
          type: boolean
          description: Solicitar cadastro da Facial ao colaborador
          example: true
        isDraft:
          type: boolean
          description: Flag para identificar se é um rascunho
          example: false
        step:
          type: string
          description: Etapa de cadastro do colaborador
          enum:
            - DADOS
            - COMPLEMENTO
            - ALOCACAO
            - PREFERENCIA
            - DEFINICOES
            - ACESSO
            - CONCLUIDO
          default: PREFERENCIA
    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
    EnderecoEntity:
      type: object
      properties:
        rua:
          type: string
          example: Rua da Felicidade
        numero:
          type: string
          example: s/n
        complemento:
          type: string
          example: Sombra da Tarde
        bairro:
          type: string
          example: Jardim America
        cidade:
          type: string
          example: Barreiras
        estado:
          type: string
          example: BA
        cep:
          type: string
          example: '47803658'
      required:
        - rua
        - numero
        - cidade
        - estado
        - cep

````