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

# Busca colaboradores por CPF

> Localiza colaboradores a partir do **CPF** (passado sem máscara — só os 11 dígitos). Útil quando a integração tem o CPF (vindo da folha/RH) mas não o `colaboradorId`.

**Pode retornar mais de um:** a Pontua suporta o mesmo CPF em **UNs diferentes** (CNPJ é a chave de unicidade do tenant). Mas dentro da mesma UN, CPF é único — então a lista terá no máximo 1 elemento dentro do escopo do token autenticado.

**Casos de uso:**
- Resolver "quem é o CPF X aqui?" antes de criar registro de ponto
- Sincronização inicial quando você só tem o CSV da folha externa
- Consulta cruzada entre tenant matriz e filiais

**Formato:** `/colaborador/:cpf/cpf` aceita 11 dígitos numéricos. Pontuação (`.` e `-`) é tolerada mas recomenda-se enviar limpo. CPFs inválidos (dígito verificador errado) retornam 400.



## OpenAPI

````yaml https://api.pre.pontua.tech/api/public/doc-json get /colaborador/{cpf}/cpf
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/{cpf}/cpf:
    get:
      tags:
        - Colaborador
      summary: Busca colaboradores por CPF
      description: >-
        Localiza colaboradores a partir do **CPF** (passado sem máscara — só os
        11 dígitos). Útil quando a integração tem o CPF (vindo da folha/RH) mas
        não o `colaboradorId`.


        **Pode retornar mais de um:** a Pontua suporta o mesmo CPF em **UNs
        diferentes** (CNPJ é a chave de unicidade do tenant). Mas dentro da
        mesma UN, CPF é único — então a lista terá no máximo 1 elemento dentro
        do escopo do token autenticado.


        **Casos de uso:**

        - Resolver "quem é o CPF X aqui?" antes de criar registro de ponto

        - Sincronização inicial quando você só tem o CSV da folha externa

        - Consulta cruzada entre tenant matriz e filiais


        **Formato:** `/colaborador/:cpf/cpf` aceita 11 dígitos numéricos.
        Pontuação (`.` e `-`) é tolerada mas recomenda-se enviar limpo. CPFs
        inválidos (dígito verificador errado) retornam 400.
      operationId: ColaboradorController_buscarPorCpf
      parameters:
        - name: cpf
          required: true
          in: path
          description: CPf
          schema:
            type: string
      responses:
        '200':
          description: >-
            Lista (geralmente unitária) de colaboradores com aquele CPF na UN do
            token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindAllColaboradoresDto'
        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: []
        - cookie: []
components:
  schemas:
    FindAllColaboradoresDto:
      type: object
      properties:
        pagina:
          type: number
          description: Pagina que deseja retornar os resultados
          example: 0
        limite:
          type: number
          description: Quantidade de itens que retorna na consulta. Min 1 - Max 100
          example: 25
        total:
          type: number
          description: Total de registros encontrados
          example: 100
        colaboradores:
          description: Resultado da consulta
          type: array
          items:
            $ref: '#/components/schemas/Colaborador'
      required:
        - total
        - colaboradores
    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
    Colaborador:
      type: object
      properties:
        colaboradorId:
          type: string
          description: ID referente ao Colaborador
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        nivelAcesso:
          type: string
          description: Nivel de acesso do usuario
          enum:
            - ADMIN
            - GESTOR
            - USER
          default: USER
        nome:
          type: string
          description: Nome do colaborador
          example: Douglas Coelho
        tipoColaborador:
          type: string
          description: Tipo de colaborador
          enum:
            - PRESTADOR_SERVICO
            - CLT
            - EXTERNO
            - API
          default: CLT
        tipoIdentificacao:
          type: string
          description: Identificação se o documento é um CPF ou CNPJ
          enum:
            - CNPJ
            - CPF
          default: CPF
        numeroDocumento:
          type: string
          description: CPF ou CNPJ
          example: '71055398712'
        numeroPrevidenciario:
          type: string
          description: >-
            Número do tipo de vínculo previdenciário do empregado (NIS, PIS,
            etc)
          example: N586692225
        unidadeNegocio:
          description: Unidade de negócio do colaborador
          allOf:
            - $ref: '#/components/schemas/UnidadeNegocioColaborador'
        cargo:
          description: Cargo referente ao colaborador
          allOf:
            - $ref: '#/components/schemas/Cargo'
        departamento:
          description: Departamento referente ao colaborador
          allOf:
            - $ref: '#/components/schemas/Departamento'
        equipe:
          description: Equipe à qual o colaborador pertence
          allOf:
            - $ref: '#/components/schemas/Equipe'
        email:
          type: string
          description: E-mail de contato do colaborador
          example: douglas@empresa.com.br
        celular:
          type: string
          description: Telefone de contato do colaborador (formato livre)
          example: '+5562999999999'
        dataAdmissao:
          format: date-time
          type: string
          description: Data de admissão do colaborador
          example: '2024-01-15T00:00:00.000Z'
        dataDemissao:
          format: date-time
          type: string
          description: >-
            Data de demissão do colaborador. Quando preenchido (e
            status=INATIVO) indica que existe demissão cancelável via PATCH
            /colaborador/{id}/cancelar-demissao
          example: '2026-05-07T00:00:00.000Z'
        createdAt:
          format: date-time
          type: string
          description: Data de criação do registro
          example: '2024-01-10T12:34:56.000Z'
        updatedAt:
          format: date-time
          type: string
          description: Data da última atualização do registro
          example: '2024-02-20T08:22:11.000Z'
        localTrabalho:
          description: Local de trabalho do colaborador
          allOf:
            - $ref: '#/components/schemas/LocalTrabalho'
        centroCusto:
          description: Centro de custo do colaborador
          allOf:
            - $ref: '#/components/schemas/CentroCusto'
        dataInicio:
          format: date-time
          type: string
          description: >-
            Data de início do colaborador na plataforma Pontua (registro de
            ponto)
          example: '2024-01-15T00:00:00.000Z'
        statusFacial:
          type: string
          description: Status do cadastro facial (PENDENTE/COMPLETO/EXPIRADO/etc)
          example: COMPLETO
        situacao:
          type: string
          description: Situação do empregado
          enum:
            - ATIVO
            - INATIVO
            - RASCUNHO
          default: ATIVO
        foto:
          type: string
          description: Url para download da foto
          example: https://s3-bucket.s3.amazonaws.com/files/tenant_x/file.jpg
        facialId:
          description: Dados do cadastro de reconhecimento facial
          allOf:
            - $ref: '#/components/schemas/FacialId'
      required:
        - colaboradorId
        - nivelAcesso
        - nome
        - tipoColaborador
        - tipoIdentificacao
        - numeroDocumento
        - unidadeNegocio
        - cargo
        - departamento
        - situacao
    UnidadeNegocioColaborador:
      type: object
      properties:
        unidadeNegocioId:
          type: string
          description: ID da unidade de negocio do colaborador
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        nome:
          type: string
          description: Nome da unidade de negocio do colaborador
          example: Tron
        foto:
          type: string
          description: Url para download da foto da unidade de negócio
          example: https://s3-bucket.s3.amazonaws.com/files/tenant_x/file.jpg
        tax:
          type: string
          description: Valor do CNPJ ou CPF da unidade de negócio
          example: '71055398712'
      required:
        - unidadeNegocioId
        - nome
    Cargo:
      type: object
      properties:
        cargoId:
          type: string
          description: ID referente ao cargo
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        nome:
          type: string
          description: Nome do Cargo
          example: Analista de Marketing
      required:
        - cargoId
        - nome
    Departamento:
      type: object
      properties:
        departamentoId:
          type: string
          description: ID referente ao departamento
          example: c9f447fe-f97f-4f24-974d-9f92eb3049dc
        nome:
          type: string
          description: Nome do departamento
          example: Desenvolvimento
      required:
        - departamentoId
        - nome
    Equipe:
      type: object
      properties:
        equipeId:
          type: string
          description: ID referente à equipe
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        nome:
          type: string
          description: Nome da equipe
          example: Squad Plataforma
      required:
        - equipeId
        - nome
    LocalTrabalho:
      type: object
      properties:
        localTrabalhoId:
          type: string
          description: ID referente ao local de trabalho
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        nome:
          type: string
          description: Nome do local de trabalho
          example: Sede Goiânia
      required:
        - localTrabalhoId
        - nome
    CentroCusto:
      type: object
      properties:
        centroCustoId:
          type: string
          description: ID referente ao centro de custo
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        nome:
          type: string
          description: Nome do centro de custo
          example: Tecnologia / R&D
      required:
        - centroCustoId
        - nome
    FacialId:
      type: object
      properties:
        id:
          type: string
          description: ID referente do cadastro da FacialId no nosso banco
          example: b5887a64-6aa1-43e8-b233-ffadc7f92ca6
        codigoFacial:
          type: string
          description: Código referente ao rosto da pessoa na FacialId
          example: FULANO.10
        situacao:
          type: string
          description: Stituação de cadastro na FacialId
          example: Ativo
        dataExpiracao:
          format: date-time
          type: string
          description: Data de expiração das fotos enviadas para o cadastro
          example: '2025-07-23T00:00:00.000Z'

````