Criando vagas

A API da Recrutei permite que usuários autenticados criem vagas.

Atenção: é obrigatório que a requisição realizada seja do tipo "Content-type: multipart/form-data".

Headers necessários:

NomeValorDescrição
AuthorizationBearer ......................Bearer Token para autenticação. Saiba mais aqui.
Content-Typemultipart/form-dataDefine o tipo de formato de conteúdo que será enviado.

Uma vez que os Headers estejam devidamente configurados, podemos ir ao próximo passo.


Endpoint utilizado para criar vagas:

EndpointMétodoLink para Teste
/api/v1/vacanciesPOSTClique aqui

Payload

Definição campo a campo para publicação de vagas na API:

Campo

Obrigatório

Tipo e Opções

Observações e Exemplos

title

Sim

string

Título da Vaga Exemplo: "Desenvolvedor Front-end"

description

Sim

string

Descrição da vaga em HTML/CSS simples. Exemplo: <p><h4>Responsabilidades:</h4><ul><li>Desenvolver aplicações...</li></ul></p>

vacancy_status_id

Sim

1

Status de publicação da vaga. Exemplo: 1 = Publicada

pipe_id

Sim

int (id)

Define qual será o pipe (kanban/fluxo) que a vaga utilizará. A lista de pipes pode ser obtida aqui.

client_id

Não

int (id) ou NULL

Define qual será o cliente que deverá ser associado à vaga, caso exista. A lista de clientes pode ser obtida aqui.

company_department_id

Sim

int (id)

Define qual será o departamento interno da empresa que será associado à vaga. A lista de departamentos pode ser obtida aqui.

regime_id

Sim

int (id)

Define qual será o regime associado à vaga. A lista de regimes possíveis pode ser obtida aqui.

request_reason_id

Não

int (id)

Define qual será o motivo de requisição associado à vaga. A lista de motivos possíveis pode ser obtida aqui.

quantity

Sim

int

Define a quantidade de posições que a vaga terá. Exemplo: 5

city

Não

string ou NULL

Define a cidade da vaga. Poderá ser NULL caso não tenha cidade definida, numa vaga remota, por exemplo. Exemplo: "Uberlândia"

state

Não

string ou NULL

Define o estado da vaga, em UF. Poderá ser NULL caso não tenha estado definido, numa vaga remota, por exemplo. Exemplo: "MG"

country

Não

string ou NULL

Define o país da vaga. Poderá ser NULL caso não tenha país definido, numa vaga remota, por exemplo. Exemplo: "Brasil"

remote

Sim

0, 1, 2, 3

Define se a vaga será remota ou não. Opções: 0 = 100% Presencial 1 = 100% Remoto 2 = Presencial ou Remoto (tanto faz) 3 = Híbrido (presencial E remoto) - aceita ambos

skills

Não

string ou NULL

Define a lista de habilidades necessárias para a vaga, separadas por vírgula. Exemplo: "Javascript, NodeJS, ReactJS, HTML, CSS"

benefits

Não

string ou NULL

Define a lista de benefícios associados na vaga, separados por vírgula. Exemplo: "Plano de Saúde, Vale Alimentação"

type

Sim

Confidencial Pública

Define o modo de privacidade da vaga, podendo ser uma vaga confidencial (com acesso somente via URL direta da vaga na página de carreiras) e não enviada à nenhuma jobboard, ou, pública, visível na lista de vagas da página de carreira e também enviada à diversas jobboards. Exemplo: "Pública"

external

Sim

0, 1

Define se essa é uma vaga externa ou não. Vagas externas são vagas em que há um cliente definido, ou seja, essa é uma vaga que será trabalhada para outra empresa que não a minha. Caso a vaga seja da própria empresa que está publicando, este campo deve ser 0.

fixed_remuneration

Sim

0, 1

Define se a remuneração é fixa ou uma faixa, ou seja: para uma remuneração de R$ 3.000 (de forma fixa e direta) esse campo deve ser 1. Já, para casos onde a remuneração é uma faixa, como "de R$3.000 até R$4.000", este campo deve ser 0.

remuneration

Não

float

Informa qual será a remuneração para a vaga. Só deve ser utilizado para casos de fixed_remuneration = 1. Deve ser enviado neste formato: 1500.00 ou 1500 Utilizando pontos para separar as casas decimais.

remuneration_from

Não

float

Informa qual será o início da faixa de remuneração da vaga. Só deverá ser utilizado quando fixed_remuneration = 0. Deve ser enviado no formato: 2000.00 ou 2000 Utilizando pontos para separar as casas decimais.

remuneration_to

Não

float

Informa qual será o final da faixa de remuneração da vaga. Só deverá ser utilizado quando fixed_remuneration = 0. Deve ser enviado no formato: 3000.00 ou 3000 Utilizando pontos para separar as casas decimais.

remuneration_type

Sim

Hora Mês Ano

Define qual será o tipo de remuneração: por hora, por mês ou por ano. Exemplo: "Mês" O campo é utilizado para formatar a remuneração: "R$ 3000.00 por mês" ou "R$ 50 por hora"

internal_code

Não

string ou NULL

Associa à vaga um código interno, que tanto pode ser um código definido pela empresa, quanto um código gerado automaticamente via Recrutei. Para o caso de utilização de códigos automáticos via Recrutei, deve-se obter o código no endpoint de geração automática, disponível aqui.

workload

Sim

string

Define qual será a carga horária semanal prevista para a vaga. Exemplo: "40 horas" Para os casos de vagas PJ, sem carga horária definida, envie apenas: "0".

time_to_hire

Não

date ou NULL

Define o SLA interno de previsão para conclusão da vaga. Esta data não é compartilhada com candidatos, gerenciada somente internamente. Exemplo: 2025-07-25

expired_at

Não

date ou NULL

Define a data de expiração da vaga. A partir desta data, a vaga não estará mais disponível para receber novas candidaturas. Exemplo: 2025-07-20

pcd

Não

0, 1

Define se a oportunidade será inclusiva para PCD ou não. Exemplo: 1 (disponível para PCD)

managers

Não

string

Define qual será a equipe que será responsável pela vaga. Devem ser enviados os ids dos managers (recrutadores) separados por vírgulas. A lista de managers pode ser obtida aqui. Exemplo: 1994, 2174, 2155

is_inclusive

Não

0, 1

Define se a vaga deverá ser marcada como vaga inclusiva (afirmativa) ou não. Exemplo: 1 (caso seja afirmativa/inclusiva)

internal_information

Não

string

Permite incluir uma observação interna qualquer que ficará associada à vaga. Exemplo: "Esta vaga deverá ser trabalhada em..."

show_client

Sim

0, 1

Define se o cliente associado à vaga deve ser exibido ou não. Caso não exista um cliente associado à vaga, envie apenas 0. Exemplo: 0

show_remuneration

Sim

0, 1

Define se a remuneração da vaga (seja ela fixa ou uma faixa de remuneração) poderá ser visível aos candidatos ou não. Caso seja pública, envie 1. Exemplo: 1

show_location

Sim

0, 1

Define se a localização da vaga (seja presencial, remota ou híbrida) poderá ser visível aos candidatos ou não. Caso seja pública, envie 1. Exemplo: 1

show_regime

Sim

0, 1

Define se o regime da vaga (CLT, PJ, etc) poderá ser visível aos candidatos ou não. Caso seja pública, envie 1. Exemplo: 1


Ao enviar a requisição, e receber o código 200, a vaga foi criada com sucesso e associada à sua conta na Recrutei.

COMPARTILHANDO EM JOBBOARDS

Para os casos de vagas públicas, deve-se fazer o disparo da vaga para as jobboards escolhidas pelo usuário.Para isso, após salvar a vaga no passo anterior, deve-se utilizar o id da vaga que acabou de ser criada, para repassar ao endpoint abaixo que permite o disparo em múltiplas jobboards.

Headers necessários

NomeValorDescrição
AuthorizationBearer ......................Bearer Token para autenticação. Saiba mais aqui.
Content-Typeapplication/jsonDefine o tipo de formato de conteúdo que será enviado.

Endpoint utilizado para divulgação em jobboards:

EndpointMétodoLink para Teste
/api/v1/jobboards/vacancy_id (id da vaga criada)POSTClique aqui

Payload

Definição campo a campo para divulgação de vagas nos jobboards via API:

Campo

Obrigatório

Tipo e Opções

Observações e Exemplos

items

Sim

array

Este é um array de "items". Cada item é uma jobboard que o usuário deseja compartilhar a vaga que foi criada. O array deve ficar no formato abaixo:


"items": [ { "id": 1, "enabled": true }, { "id": 2, "enabled": true }, .... ]

Deve-se considerar que para obter os ids dos items, o usuário deve consultar o endpoint de jobboards, que lista todas as jobboardas disponíveis, aqui.

Exemplo da Payload:

"items": [
  { "id": 1, "enabled": true },
  { "id": 2, "enabled": true },
  ....
]

Observação: É importante notar que para este endpoint de compartilhamento em jobboards, o formato da requisição deve ser application/json, e não mais em multipart/form-data, como foi para o caso da criação da vaga.