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:
| Nome | Valor | Descrição |
|---|---|---|
| Authorization | Bearer ...................... | Bearer Token para autenticação. Saiba mais aqui. |
| Content-Type | multipart/form-data | Define 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:
| Endpoint | Método | Link para Teste |
|---|---|---|
| /api/v1/vacancies | POST | Clique 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:
|
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
| Nome | Valor | Descrição |
|---|---|---|
| Authorization | Bearer ...................... | Bearer Token para autenticação. Saiba mais aqui. |
| Content-Type | application/json | Define o tipo de formato de conteúdo que será enviado. |
Endpoint utilizado para divulgação em jobboards:
| Endpoint | Método | Link para Teste |
|---|---|---|
| /api/v1/jobboards/vacancy_id (id da vaga criada) | POST | Clique 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.
Updated 4 days ago
