Skip to content

Motivos de Recusa ​

Os motivos de recusa formam o catálogo padronizado da instância para registrar por que uma candidatura foi rejeitada. Ao rejeitar uma candidatura (PATCH /v1/ats/user/applications/:id/reject), a equipe informa um motivo deste catálogo, o que mantém os dados consistentes e alimenta o gráfico de motivos de recusa nas métricas do funil.

Cada motivo pode ser ativado ou desativado: motivos inativos deixam de aparecer na lista simples usada nos formulários, mas permanecem no histórico das candidaturas já rejeitadas.

Headers obrigatórios

Todas as requisições devem incluir o header X-Ats-Id (UUID) com o identificador da instância ATS, além de Authorization: Bearer {token} com o token do usuário do ATS (guard atsUser).


Estrutura de Dados Principal ​

Um motivo de recusa contém as seguintes informações principais:

CampoTipoDescrição
idNumberIdentificador do motivo.
nameStringNome do motivo (máx. 150 caracteres).
isActiveBooleanIndica se o motivo está ativo (padrão: true).
createdAtStringData de criação (ISO 8601).
updatedAtStringData da última atualização (ISO 8601).

Endpoints de Consulta ​

Endpoints de leitura, disponíveis para qualquer usuário autenticado da instância.

Listar Motivos de Recusa ​

Lista os motivos de recusa da instância, com paginação, busca por nome e filtro por status.

http
GET /v1/ats/user/rejection-reasons

Parâmetros de Query ​

NomeTipoObrigatórioDescrição
pagenumberNãoO número da página (mínimo: 1).
perPagenumberNãoItens por página (entre 1 e 100, padrão: 25).
searchstringNãoBusca por termo no nome (máx. 150 caracteres).
isActivebooleanNãoFiltra por motivos ativos (true) ou inativos (false).

Exemplo de Requisição ​

bash
curl -X GET "https://api.us.basis.tavares.in/v1/ats/user/rejection-reasons?page=1&perPage=25&isActive=true" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"

Respostas ​

200 OK

Retorna um objeto de paginação contendo a lista de motivos.

json
{
  "meta": {
    "currentPage": 1,
    "perPage": 25
  },
  "data": [
    {
      "id": 1,
      "atsId": 1,
      "name": "Salário fora do orçamento",
      "isActive": true,
      "createdAt": "2026-09-11T03:14:02.654+00:00",
      "updatedAt": "2026-09-11T03:14:02.654+00:00"
    }
  ]
}

Listar Motivos de Recusa (Lista Simples) ​

Retorna somente os motivos ativos, em formato simplificado (value/label), ideal para o select exibido ao rejeitar uma candidatura.

http
GET /v1/ats/user/rejection-reasons/list

Parâmetros de Query ​

NomeTipoObrigatórioDescrição
searchstringNãoFiltra por prefixo do nome (máx. 150 caracteres).

Exemplo de Requisição ​

bash
curl -X GET "https://api.us.basis.tavares.in/v1/ats/user/rejection-reasons/list?search=Sal" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"

Respostas ​

200 OK

Retorna um array com os motivos ativos em formato value/label.

json
[
  {
    "value": 1,
    "label": "Salário fora do orçamento"
  }
]

Obter Motivo de Recusa por ID ​

Recupera os detalhes de um motivo de recusa da instância.

http
GET /v1/ats/user/rejection-reasons/:id

Parâmetros de Rota ​

NomeTipoObrigatórioDescrição
idnumberSimO ID do motivo de recusa.

Exemplo de Requisição ​

bash
curl -X GET "https://api.us.basis.tavares.in/v1/ats/user/rejection-reasons/1" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"

Respostas ​

200 OK

Retorna os dados do motivo de recusa.

json
{
  "id": 1,
  "atsId": 1,
  "name": "Salário fora do orçamento",
  "isActive": true,
  "createdAt": "2026-09-11T03:14:02.654+00:00",
  "updatedAt": "2026-09-11T03:14:02.654+00:00"
}

404 Not Found

Ocorre quando o motivo de recusa não existe na instância.


Endpoints de Gerenciamento ​

Endpoints de escrita do catálogo, restritos a usuários owner/admin da instância — demais roles recebem 403 Forbidden.

Criar Novo Motivo de Recusa ​

Cria um novo motivo de recusa na instância.

http
POST /v1/ats/user/rejection-reasons

Payload (Body) ​

AtributoTipoObrigatórioDescrição
namestringSimNome do motivo (máx. 150 caracteres).
isActivebooleanNãoIndica se o motivo está ativo (padrão: true).

Exemplo de Requisição ​

bash
curl -X POST "https://api.us.basis.tavares.in/v1/ats/user/rejection-reasons" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Salário fora do orçamento",
    "isActive": true
  }'

Respostas ​

201 Created

Retorna o ID do motivo de recusa criado.

json
{
  "id": 1
}

403 Forbidden

O usuário autenticado não é owner/admin da instância.

422 Unprocessable Entity

Erro de validação nos campos enviados.

json
{
  "errors": [
    {
      "message": "Nome é obrigatório",
      "rule": "required",
      "field": "name"
    }
  ]
}

Atualizar Motivo de Recusa ​

Atualiza o nome ou o status de um motivo de recusa existente. Desativar um motivo (isActive: false) o remove da lista simples sem afetar o histórico das candidaturas.

http
PUT /v1/ats/user/rejection-reasons/:id

Parâmetros de Rota ​

NomeTipoObrigatórioDescrição
idnumberSimO ID do motivo de recusa.

Payload (Body) ​

AtributoTipoObrigatórioDescrição
namestringSimNome do motivo (máx. 150 caracteres).
isActivebooleanNãoIndica se o motivo está ativo.

Exemplo de Requisição ​

bash
curl -X PUT "https://api.us.basis.tavares.in/v1/ats/user/rejection-reasons/1" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Salário fora do orçamento",
    "isActive": true
  }'

Respostas ​

204 No Content

Atualização concluída com sucesso.

404 Not Found

Ocorre quando o motivo de recusa não existe na instância.

422 Unprocessable Entity

Erro de validação nos campos enviados.

Remover Motivo de Recusa ​

Remove um motivo de recusa da instância (exclusão lógica).

http
DELETE /v1/ats/user/rejection-reasons/:id

Parâmetros de Rota ​

NomeTipoObrigatórioDescrição
idnumberSimO ID do motivo de recusa.

Exemplo de Requisição ​

bash
curl -X DELETE "https://api.us.basis.tavares.in/v1/ats/user/rejection-reasons/1" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}"

Respostas ​

204 No Content

Remoção concluída com sucesso.

404 Not Found

Ocorre quando o motivo de recusa não existe na instância.