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

# Importa dados pessoais em massa via arquivo

> Requer autenticação Bearer e pelo menos uma das permissões 18 ou 19, conforme as regras de autorização da conta. A conta é obtida da autenticação; não envie account_id.

Envie multipart/form-data com o campo file (até 10 MiB). Aceita CSV (text/csv), XLSX e XLS. A coluna EMAIL identifica um colaborador já vinculado à conta; não cria usuários nem altera o email de acesso. Cabeçalhos não diferenciam maiúsculas de minúsculas. No Excel, apenas a primeira aba é lida. Células vazias não limpam dados existentes. Prefira o modelo XLSX: o leitor CSV separa por vírgulas e não suporta vírgulas dentro de valores ou quebras de linha em células.

Processa linhas individualmente, sem rollback do lote. HTTP 201 não significa que todas as linhas foram importadas: confira total, updated e errors. row começa em 2 após o cabeçalho e segue as linhas não vazias processadas. Uma falha bancária após salvar RH mantém a linha em updated e acrescenta um aviso em errors; portanto updated + errors.length pode exceder total. As mensagens de erro são sanitizadas. Veja o [guia de dados pessoais](/guides/dados-pessoais).



## OpenAPI

````yaml /api-reference/pessoas.yaml post /v2/employee-hr-data/import
openapi: 3.0.0
info:
  title: Tarefy API
  description: >-
    Tarefy REST API — task management, culture and performance platform.


    Endpoints are versioned at `/v2/...`. Authentication via Bearer JWT in the
    `Authorization` header.


    To get started, see the [authentication guide](/authentication) and the
    [quickstart](/quickstart).
  version: 2.0.0
  contact:
    name: Tarefy Support
    email: suporte@tarefy.com
    url: https://tarefy.com
  license:
    name: Proprietary
    url: https://tarefy.com
servers:
  - url: https://app.tarefy.com/nodeapi
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Employee HR Data
    description: >-
      Cadastro de dados pessoais e de RH dos colaboradores. Consulte o [guia de
      integração](/guides/dados-pessoais).
  - name: Performance Evaluations
    description: Performance evaluations (90°, 180°, 360°)
  - name: Feedback
    description: Structured feedbacks
  - name: PDI
    description: Individual Development Plan
  - name: Competences
    description: Competency catalog
  - name: Competence Groups
    description: Competency grouping
  - name: NPS
    description: Internal Net Promoter Score
paths:
  /v2/employee-hr-data/import:
    post:
      tags:
        - Employee HR Data
      summary: Importa dados pessoais em massa via arquivo
      description: >-
        Requer autenticação Bearer e pelo menos uma das permissões 18 ou 19,
        conforme as regras de autorização da conta. A conta é obtida da
        autenticação; não envie account_id.


        Envie multipart/form-data com o campo file (até 10 MiB). Aceita CSV
        (text/csv), XLSX e XLS. A coluna EMAIL identifica um colaborador já
        vinculado à conta; não cria usuários nem altera o email de acesso.
        Cabeçalhos não diferenciam maiúsculas de minúsculas. No Excel, apenas a
        primeira aba é lida. Células vazias não limpam dados existentes. Prefira
        o modelo XLSX: o leitor CSV separa por vírgulas e não suporta vírgulas
        dentro de valores ou quebras de linha em células.


        Processa linhas individualmente, sem rollback do lote. HTTP 201 não
        significa que todas as linhas foram importadas: confira total, updated e
        errors. row começa em 2 após o cabeçalho e segue as linhas não vazias
        processadas. Uma falha bancária após salvar RH mantém a linha em updated
        e acrescenta um aviso em errors; portanto updated + errors.length pode
        exceder total. As mensagens de erro são sanitizadas. Veja o [guia de
        dados pessoais](/guides/dados-pessoais).
      operationId: importEmployeeHrData
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: Arquivo CSV, XLS ou XLSX; máximo de 10 MiB.
              required:
                - file
      responses:
        '201':
          description: Lote processado; verifique os resultados por linha.
          content:
            application/json:
              schema:
                type: object
                required:
                  - total
                  - updated
                  - errors
                properties:
                  total:
                    type: integer
                    description: Linhas de dados processadas, sem o cabeçalho.
                  updated:
                    type: integer
                    description: >-
                      Linhas com RH atualizado, inclusive aquelas com aviso
                      bancário.
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        row:
                          type: integer
                        error:
                          type: string
              example:
                total: 2
                updated: 1
                errors:
                  - row: 3
                    error: Colaborador não encontrado para o email informado
        '400':
          description: >-
            Parâmetro, payload ou arquivo inválido; conta ausente; ou usuário
            sem vínculo ativo em operações de escrita.
        '401':
          description: Autenticação ausente ou inválida.
        '403':
          description: Acesso não autorizado para a operação.
        '413':
          description: Arquivo excede o limite de 10 MiB.
        '500':
          description: >-
            Falha interna. A resposta pública não expõe detalhes internos nem
            dados pessoais.
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````