Skip to main content
POST
/
v0
/
employee
Create Employee
curl --request POST \
  --url https://public-api.salu.com.vc/dev/routes/v0/employee/ \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "name": "<string>",
  "gov_id": "<string>",
  "is_disabled": true,
  "status": "Ativo",
  "sex": "M",
  "admission_date": "2023-12-25",
  "organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "position_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "sector_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "address": "<string>",
  "address_number": "<string>",
  "address_detail": "<string>",
  "zip_code": "<string>",
  "neighborhood": "<string>",
  "state": "<string>",
  "city": "<string>",
  "social_name": "<string>",
  "birth_date": "2023-12-25",
  "gender": "Cis",
  "mother_name": "<string>",
  "marital_status": "Não informado",
  "place_of_birth": "<string>",
  "educational_stage": "Indefinida",
  "human_skin_tone": "Indefinido",
  "phone": "<string>",
  "cell_phone": "<string>",
  "email": "<string>",
  "personal_email": "<string>",
  "hr_code": "<string>",
  "e_social": "<string>",
  "employee_registration_number": "<string>",
  "e_social_category": "<string>",
  "contract_type": "CLT",
  "work_shift": "<string>",
  "client_integration_code": "<string>",
  "create_exam": true,
  "send_email": false,
  "send_date": "2023-11-07T05:31:56Z"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "is_disabled": true,
  "status": "<string>",
  "sex": "<string>",
  "admission_date": "2023-12-25",
  "is_active": true,
  "organization": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>"
  },
  "branch": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>"
  },
  "position": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>"
  },
  "sector": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>"
  },
  "social_name": "<string>",
  "gov_id": "<string>",
  "birth_date": "2023-12-25",
  "gender": "<string>",
  "mother_name": "<string>",
  "marital_status": "<string>",
  "place_of_birth": "<string>",
  "educational_stage": "<string>",
  "human_skin_tone": "<string>",
  "phone": "<string>",
  "cell_phone": "<string>",
  "email": "<string>",
  "personal_email": "<string>",
  "dismissal_date": "2023-12-25",
  "hr_code": "<string>",
  "employee_registration_number": "<string>",
  "work_shift": "<string>",
  "client_integration_code": "<string>",
  "address": {
    "address": "<string>",
    "address_number": "<string>",
    "address_detail": "<string>",
    "zip_code": "<string>",
    "neighborhood": "<string>",
    "state": "<string>",
    "city": "<string>"
  }
}
Cria um novo funcionário (Employee) na sua organização.
  • create_exam (boolean): quando true, será gerado um exame admissional para o colaborador após a criação.
  • send_email (boolean): quando true, o colaborador receberá uma notificação por e-mail sobre o exame.
  • send_date (date-time, opcional): data/hora de envio da notificação. Se send_email=true e send_date estiver vazio ou nulo, usaremos a data/hora atual para disparar a comunicação.
  • Campo: send_date
  • Formato aceito: ISO 8601 (UTC quando aplicável)
  • Exemplos válidos:
    • 2025-01-31T00:00:00Z
    • 2025-01-31 00:00:00

Visão Geral

  • Método: POST
  • Path: /v0/employee/
  • OperationId: public_create_employee_v0_employee__post
  • Autenticação: header x-api-key (APIKeyHeader no OpenAPI)

Campos

CampoDescrição
gov_id (CPF)Identificador da Pessoa / Funcionário
No Brasil, toda pessoa física possui um CPF (Cadastro de Pessoa Física), que é o número de identificação do contribuinte nacional. É único por pessoa e normalmente não muda. Em nossa API, ele é exposto como gov_id. Na prática, desempenha um papel semelhante ao SSN (nos EUA) ou a um número de identificação fiscal pessoal em outros países.
Ponto chave: gov_id identifica o ser humano, não a relação de trabalho.
hr_code“Matrícula RH” (ID interno de RH da empresa) — opcional
Corresponde à Matrícula RH, que é um código interno do funcionário criado pela empresa para sistemas de RH/folha de pagamento/administrativos. Opcional (não exigido por lei). Usado para controles internos e integrações com as ferramentas de HRIS/folha de pagamento da empresa. Pode variar de empresa para empresa e pode mudar se a empresa migrar de sistemas. Pense nisso como um ID de Funcionário típico dentro de uma organização.
employee_registration_number“Matrícula eSocial” (ID de vínculo empregatício do governo) — obrigatório (quando aplicável)
Corresponde à Matrícula eSocial, que é um identificador oficial vinculado à relação de trabalho formal sob a legislação trabalhista brasileira (CLT). Obrigatório por lei para o reporte formal de emprego (eSocial). É único por relação de trabalho (por “vínculo de trabalho”), não necessariamente por pessoa para toda a vida. Pode não estar disponível na admissão, pois geralmente é atribuído/confirmado somente após a folha de pagamento/contabilidade registrar formalmente o funcionário, incluindo o registro na CTPS.
Nuance importante: Uma pessoa (gov_id) pode existir no sistema antes que a Matrícula eSocial seja conhecida. Uma vez que o emprego é formalizado, employee_registration_number se torna a referência oficial do “lado do governo” para aquele vínculo empregatício.

Exemplos focados em create_exam e send_email

1) Gerar exame e enviar e-mail imediatamente (sem send_date)

curl -X POST "https://public-api.salu.com.vc/dev/routes/v0/employee/" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $SALU_PUBLIC_API_KEY" \
  --data '{
    "name": "Maria da Silva",
    "gov_id": "12345678900",
    "is_disabled": false,
    "status": "Ativo",
    "sex": "F",
    "admission_date": "2025-01-31",
    "organization_id": "00000000-0000-0000-0000-000000000001",
    "branch_id": "00000000-0000-0000-0000-000000000002",
    "position_id": "00000000-0000-0000-0000-000000000003",
    "sector_id": "00000000-0000-0000-0000-000000000004",
    "create_exam": true,
    "send_email": true,
    "send_date": null
  }'
Neste cenário, um exame admissional será criado e o e-mail será enviado agora (data/hora atual), pois send_email=true e send_date não foi informado.

2) Agendar envio do e-mail para uma data/hora específica

curl -X POST "https://public-api.salu.com.vc/dev/routes/v0/employee/" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $SALU_PUBLIC_API_KEY" \
  --data '{
    "name": "Maria da Silva",
    "gov_id": "12345678900",
    "is_disabled": false,
    "status": "Ativo",
    "sex": "F",
    "admission_date": "2025-01-31",
    "organization_id": "00000000-0000-0000-0000-000000000001",
    "branch_id": "00000000-0000-0000-0000-000000000002",
    "position_id": "00000000-0000-0000-0000-000000000003",
    "sector_id": "00000000-0000-0000-0000-000000000004",
    "create_exam": true,
    "send_email": true,
    "send_date": "2025-02-01T09:30:00Z"
  }'
Aqui, o exame admissional será criado e o e-mail será enviado na data/hora informada em send_date (ISO 8601).

Campos enum e traduções

Use exatamente os valores do enum conforme definidos pela API (strings em português). As traduções/descrições abaixo servem apenas como referência de significado.

status

Campo (request)Valores permitidos (enum da API)Significado (PT)
statusAtivoAtivo
InativoInativo
AfastadoAfastado
FériasFérias
PendentePendente

sex

Campo (request)Valores permitidos (enum da API)Significado (PT)
sexMMasculino
FFeminino

gender

Campo (request)Valores permitidos (enum da API)Significado (PT)
genderCisCisgênero
TransTransgênero

marital_status

Campo (request)Valores permitidos (enum da API)Significado (PT)
marital_statusNão informadoNão informado
SolteiroSolteiro
CasadoCasado
SeparadoSeparado
DesquitadoDesquitado
ViúvoViúvo
OutrosOutros
DivorciadoDivorciado
União EstávelUnião estável

educational_stage

Campo (request)Valores permitidos (enum da API)Significado (PT)
educational_stageIndefinidaIndefinida
Ensino Fundamental IncompletoEnsino Fundamental Incompleto
Ensino Fundamental CompletoEnsino Fundamental Completo
Ensino Medio IncompletoEnsino Médio Incompleto
Ensino Medio CompletoEnsino Médio Completo
Ensino Superior IncompletoEnsino Superior Incompleto
Ensino Superior CompletoEnsino Superior Completo
ProfissionalizanteProfissionalizante
Técnico IncompletoTécnico Incompleto
Técnico CompletoTécnico Completo
Tecnólogo IncompletoTecnólogo Incompleto
Tecnólogo CompletoTecnólogo Completo
Pós-graduação IncompletaPós-graduação Incompleta
Pós-graduação CompletoPós-graduação Completo
Mestrado IncompletoMestrado Incompleto
Mestrado CompletoMestrado Completo
Doutorado IncompletoDoutorado Incompleto
Doutorado CompletoDoutorado Completo
PHD IncompletoPHD Incompleto
PHD CompletoPHD Completo
Não InformadoNão informado
AnalfabetoAnalfabeto

human_skin_tone

Campo (request)Valores permitidos (enum da API)Significado (PT)
human_skin_toneIndefinidoIndefinido
BrancaBranca
PretaPreta
PardaParda
AmarelaAmarela
IndígenaIndígena
MulatoMulato

contract_type

Campo (request)Valores permitidos (enum da API)Significado (PT)
contract_typeCLTEmprego pela CLT
COOPERADOCooperado
TERCERIZADOTerceirizado
AUTONOMOAutônomo
TEMPORARIOTemporário
PESSOA_JURIDICAPessoa Jurídica
ESTAGIARIOEstagiário
MENOR_APRENDIZMenor aprendiz
ESTATUTARIOServidor estatutário
COMISSIONADO_INTERNOComissionado interno
COMISSIONADO_EXTERNOComissionado externo
APOSENTADOAposentado
APOSENTADO_INATIVO_PREFEITURAAposentado inativo (prefeitura)
PENSIONISTAPensionista
SERVIDOR_PUBLICO_EFETIVOServidor público efetivo
EXTRANUMERARIOExtranumerário
AUTARQUICOServidor autárquico
INATIVOInativo
TITULO_PRECARIOTítulo precário
SERVIDOR_ADM_CENTRALIZADA_OU_DESCENTRALIZADAServidor da administração centralizada ou descentralizada

Exemplo de requisição

curl -X POST "https://public-api.salu.com.vc/dev/routes/v0/employee/" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $SALU_PUBLIC_API_KEY" \
  --data '{
    "employee_name": "Maria da Silva",
    "employee_registration_number": "12345",
    "employee_is_disabled": false
  }'

Authorizations

x-api-key
string
header
required

Body

application/json
name
string
required
gov_id
string
required
is_disabled
boolean
required
status
enum<string>
required
Available options:
Ativo,
Inativo,
Afastado,
Férias,
Pendente
sex
enum<string>
required
Available options:
M,
F
admission_date
string<date>
required
organization_id
string<uuid>
required
branch_id
string<uuid>
required
position_id
string<uuid>
required
sector_id
string<uuid>
required
address
string | null
address_number
string | null
address_detail
string | null
zip_code
string | null
neighborhood
string | null
state
string | null
city
string | null
social_name
string | null
birth_date
string<date> | null
gender
enum<string> | null
Available options:
Cis,
Trans
mother_name
string | null
marital_status
enum<string> | null
Available options:
Não informado,
Solteiro,
Casado,
Separado,
Desquitado,
Viúvo,
Outros,
Divorciado,
União Estável
place_of_birth
string | null
educational_stage
enum<string> | null
Available options:
Indefinida,
Ensino Fundamental Incompleto,
Ensino Fundamental Completo,
Ensino Medio Incompleto,
Ensino Medio Completo,
Ensino Superior Incompleto,
Ensino Superior Completo,
Profissionalizante,
Técnico Incompleto,
Técnico Completo,
Tecnólogo Incompleto,
Tecnólogo Completo,
Pós-graduação Incompleta,
Pós-graduação Completo,
Mestrado Incompleto,
Mestrado Completo,
Doutorado Incompleto,
Doutorado Completo,
PHD Incompleto,
PHD Completo,
Não Informado,
Analfabeto
human_skin_tone
enum<string> | null
Available options:
Indefinido,
Branca,
Preta,
Parda,
Amarela,
Indígena,
Mulato
phone
string | null
cell_phone
string | null
email
string | null
personal_email
string | null
hr_code
string | null
e_social
string | null
employee_registration_number
string | null
e_social_category
string | null
contract_type
enum<string> | null
Available options:
CLT,
COOPERADO,
TERCERIZADO,
AUTONOMO,
TEMPORARIO,
PESSOA_JURIDICA,
ESTAGIARIO,
MENOR_APRENDIZ,
ESTATUTARIO,
COMISSIONADO_INTERNO,
COMISSIONADO_EXTERNO,
APOSENTADO,
APOSENTADO_INATIVO_PREFEITURA,
PENSIONISTA,
SERVIDOR_PUBLICO_EFETIVO,
EXTRANUMERARIO,
AUTARQUICO,
INATIVO,
TITULO_PRECARIO,
SERVIDOR_ADM_CENTRALIZADA_OU_DESCENTRALIZADA
work_shift
string | null
client_integration_code
string | null
create_exam
boolean
default:true
send_email
boolean | null
default:false
send_date
string<date-time> | null

Response

Successful Response

id
string<uuid>
required
name
string
required
is_disabled
boolean
required
status
string
required
sex
string
required
admission_date
string<date>
required
is_active
boolean
required
organization
SimpleEntity · object
required
branch
SimpleEntity · object
required
position
SimpleEntity · object
required
sector
SimpleEntity · object
required
social_name
string | null
gov_id
string | null
birth_date
string<date> | null
gender
string | null
mother_name
string | null
marital_status
string | null
place_of_birth
string | null
educational_stage
string | null
human_skin_tone
string | null
phone
string | null
cell_phone
string | null
email
string | null
personal_email
string | null
dismissal_date
string<date> | null
hr_code
string | null
employee_registration_number
string | null
work_shift
string | null
client_integration_code
string | null
address
Address · object